目录
百战程序员,全站22050+开发课程+文档 ,学习精选优质好课快人一步!观看视频 快捷键ALT+N

JAVA全系列 教程

3762个小节阅读:7092.7k

收藏
全部开发者教程

C语言快速入门

JAVA全系列 教程

面向对象的程序设计语言

Python全系列 教程

Python3.x版本,未来主流的版本

人工智能 教程

顺势而为,AI创新未来

大厂算法 教程

算法,程序员自我提升必经之路

C++ 教程

一门通用计算机编程语言

微服务 教程

目前业界流行的框架组合

web前端全系列 教程

通向WEB技术世界的钥匙

大数据全系列 教程

站在云端操控万千数据

AIGC全能工具班

A

A A

White Night

阅读(345)
赞(0)

12 高级功能

1 共享内存

共享内存是进程间通信( IPC )的一种常用手段,它在系统内存里开辟了一个特别的区域,多个进程可以共享所有权读写数据,比起信号、管道、消息队列、套接字等其他方式来说速度更快,也更加灵活实用。

img

OpenResty 内置了强大的共享内存功能,不仅支持简单的数据存取,还支持原子计数和队列操作,用起来就像是一个微型的 Re dis 数据库,极大地便利了 worker 进程间的通信和协作,而且还能够演化出许多新的用途,例如缓存、进程锁、流量统计等。

openresty支持三种 布尔 数字 字符串

1.1 配置指令

在使用OpenResty 的共享内存功能之前,需要先在配置文件里定义,格式是:

1.2 写操作

共享内存对象有五种写入数据的方法:

  • set : 写入一个值,如果内存已满,会使用LRU算法淘汰数据
  • safe_set : 类似set 但内存满时不会淘汰数据而是直接写入失败
  • add: 类似set 但只有key 不存在时才会写入
  • safe_add:类似add但内存满时不会淘汰数据,而是写入失败
  • replace: 与add 相反只有key存在时才会写入
1.3 读操作

向共享内存写入数据后就可以用get或get_stale方法获取数据:

  • get : 从共享内存里获取一个值,无数据活过期会返回nil
  • get_stale : 类似get 但即使数据过期也能得到数据

北京市昌平区回龙观镇南店村综合商业楼2楼226室

©2014-2023 百战卓越(北京)科技有限公司 All Rights Reserved.

京ICP备14032124号-2