本文共 2235 字,大约阅读时间需要 7 分钟。
两个参数
原生批量命令与Pipeline对比:
原生批量命令 | Pipeline |
---|---|
原子性 | 非原子的 |
一个命令对应多个key | 支持多个命令 |
Redis 服务端实现 | Redis 服务端,客户端共同实现 |
不能滥用Pipeline
multi~~~exec #执行事务discard #取消事务watch #监听
Redis 不支持回滚功能
eval
evalsha
Lua 脚本功能的三个好处:
脚本管理操作:
命令:
setbit key offset value
getbit key offset
bitcount key [start end]
bitop op destkey key [key...]
bitpos key targetBit [start] [end]
不是一种数据结构,而是一种基数算法。
集合操作。
三个命令:
pfaddpfcountpfmerge
HyperLogLog 内存占用很少,但是存在一定的误差,官方说法是0.81%。
命令:
publish channel message
subscribe channel [channel...]
客户端在执行订阅命令后进入订阅状态,只能接收 subscribe,psubscribe,unsubscribe,punsubscribe。的四个命令
Redis 不会对发布的消息进行持久化。
unsubscribe [channel [channel...]]
psubscribe pattern [pattern...]punsubscribe pattern [pattern [pattern...]]
pubsub channels [pattern]
地理信息定位
命令:
geoadd key longitude latitude member [longitude latitude member...]
geopos key member [member...]
geodist key member1 member2 [unit]
unit 代表返回加过的单位
georadius key longitude latitude georadiusbymember key member radiusm [unit]
geohash key member [member...]
zrem key member
GEO 没有提供删除成员的命令,因为 GEO 底层实现是zset,所以可以借用 zrem 命令实现地理位置信息的删除操作。
转载地址:http://olqzi.baihongyu.com/