Redis基础数据

string

  1. 扩容原理类似java的list,低于1M时内存翻倍,大于1M时,每次增长1M
  2. 2.8版本以后的set命令能设置超时,格式:SET key value [EX seconds] [PX milliseconds] [NX|XX];其中key代表变量名,value代表变量值,EX 和PX后面的都是过期时间,EX的单位是秒,PX是毫秒。NX表示键不存在时才设值,XX则表示键存在时才设值。

list

  1. 原理类似java的双向链表LinkedList。
  2. 右进左出为队列(出入方向不同),右进右出为栈(出入方向相同)。
  3. 底层原理是quicklist,多个ziplist特殊链表 通过双向链表结构关联起来的。

hash

  1. 原理类似java的HashMap。

set

  1. 原理类似java的HashSet。

zset

  1. 类似java的 HashSet 和HashMap的结合体,比其他类型多出一个score。
  2. 简单的增加命令格式:ZADD key score member [[score member] [score member] …]
  3. 常用的score删除元素格式:ZREMRANGEBYSCORE key min max
  4. 实现原理是跳跃链表(不太懂)

总结

  1. create if not exist
  2. drop if no elements
  3. 过期时间只能对变量设置,集合内的元素无法单独设置过期时间
  4. 对String设置过期时间后,再调用set会使过期时间失效
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值