一、Redis数据类型和数据结构
1.常用数据类型
1. String(字符串)

string是redis最基本的类型,你可以理解成与Memcached一模一样的类型,一个key对应一个value,但一个字符串类型的值能存储最大容量是512M。string类型是二进制安全的。意思是redis的string可以包含任何数据。比如jpg图片或者序列化的对象 。一般做一些复杂的计数功能的缓存。
实例

redis 127.0.0.1:6379> SET name “w3cschool.cn”
OK
redis 127.0.0.1:6379> GET name
“w3cschool.cn”

其中:embstr和raw都是由SDS动态字符串构成的。唯一区别是:raw是分配内存的时候,redisobject和 sds 各分配一块内存,而embstr是redisobject和raw在一块儿内存中。

2. Set(集合)

Set 就是一个集合,集合的概念就是一堆不重复值的组合。利用 Redis 提供的 Set 数据结构,可以存储一些集合性的数据。

如:

“`
redis 127.0.0.1:6379> sadd w3cschool.cn rabitmq
(integer) 1
redis 127.0.0.1:6379> sadd w3cschool.cn rabitmq
(integer) 0
“`

Redis DEL 命令用于删除已存在的键。不存在的 key 会被忽略。
如果键被删除成功,命令执行后输出 (integer) 1,否则将输出 (integer) 0

Redis Smembers 命令返回集合中的所有的成员。 不存在的集合 key 被视为空集合。如:

redis 127.0.0.1:6379> SADD myset1 “hello”
(integer) 1
redis 127.0.0.1:6379> SADD myset1 “world”
(integer) 1
redis 127.0.0.1:6379> SMEMBERS myset1
1) “World”
2) “Hello”

. sorted set(有序集合)

sorted set多了一个权重参数score,集合中的元素能够按score进行排列。可以做排行榜应用,取TOP N操作。
sorted set可以用来做延时任务。最后一个应用就是可以做范围查找。

其数据结构如下:

4. 列表(List)

List数据结构是链表结构是双向的,可以在链表左,右两边分别操作,同时也会用到压缩列表;

使用List的数据结构,可以做简单的消息队列的功能(既可以保证消息的顺序性)。另外还有一个就是,可以利用lrange命令,做基于redis的分页功能,性能极佳,用户体验好。

5. 哈希(Hash)

这里value存放的是结构化的对象,比较方便的就是操作其中的某个字段。

其用到的数据结构主要为ziplist和hash表如下:

 

欢迎使用66资源网
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 如遇到加密压缩包,请使用WINRAR解压,如遇到无法解压的请联系管理员!
7. 本站有不少源码未能详细测试(解密),不能分辨部分源码是病毒还是误报,所以没有进行任何修改,大家使用前请进行甄别!

66源码网 » Redis核心机制和架构设计

提供最优质的资源集合

立即查看 了解详情