list/set/hash/zset 这四种数据结构是容器型数据结构,它们共享下面两条通用规则:,我来为大家讲解一下关于redis 5种数据结构及对应使用场景?跟着小编一起来看一看吧!
![redis 5种数据结构及对应使用场景(Redis数据结构常用知识点)](http://img.studyofnet.com/upimg/537196810.jpg)
redis 5种数据结构及对应使用场景
容器型数据结构的通用规则list/set/hash/zset 这四种数据结构是容器型数据结构,它们共享下面两条通用规则:
- create if not exists
如果容器不存在,那就创建一个,再进行操作。比如 rpush 操作刚开始是没有列表的,Redis 就会自动创建一个,然后再 rpush 进去新元素。
- drop if no elements
如果容器里的元素没有了,那么立即删除元素,释放内存。这意味着 lpop 操作到最后一个元素,列表就消失了。
过期时间Redis 所有的数据结构都可以设置过期时间,时间到了,Redis 会自动删除相应的对象。需要注意的是过期是以对象为单位,比如一个 hash 结构的过期是整个 hash 对象的过期,而不是其中的某个子 key。
还有一个需要特别注意的地方是如果一个字符串已经设置了过期时间,然后你调用了 set 方法修改了它,它的过期时间就会消失。
127.0.0.1:6379> set u22e yoyo
OK
127.0.0.1:6379> EXPIRE u22e 600
(integer) 1
127.0.0.1:6379> ttl u22e
(integer) 582
127.0.0.1:6379> set u22e yoyo
OK
127.0.0.1:6379> ttl u22e
(integer) -1