PUB/SUB
public channel text 发布消息
subscibe channel 订阅消息
事务
redis单进程、单线程,在客户端并发请求时,会把最先提交事务(exec)的客户端一组操作,进行执行操作
multi 开启事务
exec 提交事务
watch key 观察值,发现值被改变,事务不提交
布隆过滤器
通过布隆算法,位图标记是否存在,在客户端访问通过映射函数判断是否存在该元素,可以达到<1%的缓存穿透,且性能很高
如果位图标记了,说明存在可以去DB查询,但是有小于1%的可能DB中没有。位图没有标记,说明DB中肯定没有,直接返回。
bf.add key value 添加
bf.exists key value 查找是否存在
回收策略
回收策略
noeviction:超出内存,报错。尝试执行让出更多内存的指令
allkeys-lru:尝试回收使用最少的键
volatile-lru:尝试回收使用最少的键,并且已超时
allkeys-random:随机回收
volatile-random:随机回收,已经超时的
volatile-ttl:回收存活时间最短的
过期时间
每10秒
1、测试随机的20个keys进行相关过期检测。
2、删除所有已经过期的keys。
3、如果有多于25%的keys过期,重复步奏1.
set key value ex time 设置超时时间
expire key time 同上
expireat key time 定时设置超时时间
发生写操作,剔除过期时间