分布式缓存Redis知识点总结

本文详述Redis V3.2的数据结构和操作,包括过期键删除策略、数据淘汰策略、持久化机制。深入探讨Redis事务的原子性和隔离性,以及在Java中的API使用。还介绍了Redis在缓存、消息队列、时间轴、排行榜、计数器等场景的应用,提供了一些建议,强调合理利用内存和选择合适的持久化方案。
摘要由CSDN通过智能技术生成
Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。

Redis V3.2 数据结构及操作


数据类型
主要操作
底层实现
应用场景
Key
删除 key
设置/移除/查询 key 的生存时间
随机获取一个 key
重命名  key
排序  key  中的元素
  分布式锁
String
增加/减小 key 中的数字
同时设置一个或多个  key-value  对
获取一个或多个给定  key  的值
覆写给定  key  所储存的字符串值
获取  key  中字符串的子串
获取  key  中字符串的长度
1、Raw(简单动态字符串Simple Dynamic String-SDS)
2、Rint(为了节约内存,Redis会将字符串表示的64位有符号整数编码为整数来进行储存)
计数器
Hash
(批量)设置key中的域/值
(批量)获取key中的域/值
(批量)删除key中的域
增加  key  中某个 的值
获取key中所有的域/域的数量/值/域值对
字典+压缩双链表(Ziplist)
Ziplist压缩Hash键空间,节省内存。
 
List
(批量)将值 插入到列表 (头/尾)
获取列表 的长度
按 下标/区间 获取列表 的元素
移除列表中的元素
修剪 列表,只保留指定区间内的元素
按下标设置列表中的元素值
1、双链表(LinkedList)
2、压缩双链表(Ziplist)
压缩双链表以连续的内存空间来表示双链表,压缩双链表节省前驱和后驱指针的空间,这在小的List上,压缩效率是非常明显的,非常节省空间。
哈希键、列表键、有序集合键初始化的底层实现皆采用 Ziplist。
保留固定数量最新数据(修剪)
构建简单消息队列
Set
批量)将元素 插入到集合
获取 集合中元素/元素数量
(移除)获取集合中一个随机的元素
集合间 交/并/差集
1、字典
2、 intset 整数有序集合( 为了节约内存,Redis会将64位有符号整数编码为整数来进行储存)
数据去重
集合间交/并/差集
Sorted Set
获取有序集中某个元素的 分数值/排名
  获取有序集中 分数 值某个区间内的所有元素 /元素数量
增加/减小某个元素的分数值
按 排名/分数/字典序 区间移除有序集 中的元素
有序集交/并集
字典+跳跃表(Skiplist)
排行榜
点赞( Set 去重)
Bitmap
设置或清除指定偏移量上的位
获取 指定偏移量上的位
获取所有值为 1 的 比特位的数量
多个bitmap进行 与/或/异或/非
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值