Redis
2021-01-18 15:53:07 8 举报
AI智能生成
学习笔记,如有错误的地方,请指正,谢谢。还在完善中
作者其他创作
大纲/内容
key
高可用
主从
过期
设置
expire
setex
其他命令
scan
数据结构
string
常用命令
set:设置数据
get:读取数据
incr:给数据增加数量
decr:给数据减数量
getset:设置并返回原值
mget:批量获取
mset:批量设置
应用场景
常规计数
微博数
粉丝数
共享用户session
...
底层:简单动态字符串(SDS)
list
常用命令
lpush
rpush
lpop:取出并删除一个值
rpop:取出并删除一个值
lrange:取范围内的值
lindex:根据下标取值
应用场景
微博关注列表、粉丝列表
消息列表
...
底层:
hash
常用命令
hset:设置值
hget:获取值
hgetall:获取key的所有值
应用场景
存储用户信息、商品信息
...
底层:
set
常用命令
sadd:设置值
spop:取出并删除一个值
smenbers:获取所有的值
smenber:判断某个值是否存在
sunion
scard:获取长度
sdiff:比较两个集合的不同
常用场景
共同关注、共同好友
...
底层:
sortset
常用命令
zadd:设置值
zrange
zrem
zcard
应用场景
排行榜
弹幕消息
Bitmap
常用命令
setbit:设置二进制为1
getbit:获取二进制的值
bitcount:统计多个二进制位被设置成1
bitop:对多个位图进行聚合运算
bitpos:查找第一个值为0/1的bit位置
应用场景
签到
统计活跃用户
HyperLogLog
常用命令
pfadd:设置值
pfcount:获取值的个数,相同的只计算一次
pfmerge:合并多个HyperLogLog
应用场景
数据量大的去重统计
统计注册IP数
统计每日访问IP数
统计实时UV数
统计在线人数
统计用户每天搜索不同词条数
...
Bloom Filter:布隆过滤
常用命令
bf.add
bf.madd
bf.exists
bf.mexists
应用场景
海量数据去重
缓存穿透
Geospatial
常用命令
geoadd
应用场景
pub/sub
Pipeline
Lua
事务
参考资料
https://github.com/iamshuaidi/JavaGuide/blob/master/docs/database/Redis/Redis.md
https://github.com/ZhongFuCheng3y/3y
https://www.cnblogs.com/loveLands/articles/10987055.html
https://www.wmyskxz.com/
哨兵
持久化
数据库
缓存出现的问题
缓存雪崩
是什么
为什么
怎么办
缓存穿透
是什么
为什么
怎么办
数据库与缓存双写一致
是什么
为什么
怎么办
0 条评论
下一页
为你推荐
查看更多