Redis数据类型
Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。
redis 存储的格式是<key,value>
类型
- 字符串(String)一个键最大能存储512MB。
命令
1 SET key value 设置指定 key 的值 2 GET key 获取指定 key 的值。
- 哈希(hash) hash特别适合用于存储对象。
1 SET key value 设置指定 key 的值 2 GET key 获取指定 key 的值。
- 列表(List)
Redis列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素导列表的头部(左边)或者尾部(右边),有序集合 - 集合(Set)
Redis的Set是string类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。
Redis 中 集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。 - 有序集合(sorted set)
Redis zset 和 set 一样也是string类型元素的集合,且不允许重复的成员。
不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。
zset的成员是唯一的,但分数(score)却可以重复。
八大特性
1、速度快:数据都放在内存中;Redis是用C语言实现的;Redis使用了单线程架构
2、 键值对的数据库结构服务器:5种数据结构:字符串、哈希、列表、集合、有序集合。
3、 简单稳定:Redis的源码很少;Redis使用单线程模型;Redis不需要依赖于操作系统中的类库
4、 持久化:发生断电或机器故障,数据可能会丢失,持久化到硬盘。RDB,AOF备份硬盘中,启动时使用文件启动。
5、 主从复制:实现多个相同数据的redis副本,复制功能是分布式Redis的基础。
6、 高可用和分布式:哨兵机制实现高可用,保证redis节点故障发现和自动转移
7、 丰富的功能:键过期,发布订阅,事务,支持Lua脚本功能,流水线…
8、支持语言多,java;php;python;C;C++
适应场景
1、缓存: 合理使用缓存加快数据访问速度,降低后端数据源压力
2、排行榜: 按照热度排名,按照发布时间排行,主要用到列表和有序集合
3、计数器应用:视频网站播放数,网站浏览数,使用redis计数
4、消息队列:发布和订阅
参考文章
- https://www.redis.net.cn
- https://www.jianshu.com/p/4e6b7809e10a
- https://blog.csdn.net/chenyao1994/article/details/79491337
- https://blog.csdn.net/weixin_43184769/article/details/91345563#commentBox