redis数据结构详解

redis基本数据类型:string,list,hash,set,zset,

字符串类型

最基本的数据类型,最大不能超过512MB;

常用命令:
set key value [ex seconds] [px milliseconds] [nx|xx]
mset key value [key value …]
mget key [key …]
结果根据传入顺序返回,没查找到返回nil;
incr key 整数自增;
decr key 自减;
incrbyfloat 自增浮点型;
append key value 追加值

str 内部编码实现:

  1. int: 8个字节的长整型;
  2. embstr:小于40个字节的字符串;
  3. raw: 40个字节及以上的字符串

应用场景:
1.缓存;
2.计数;
3.共享session;
4.验证码限速

Hash

常用命令:
hset key field value
hget key field
hdel key field [field …]
hlen key
hmget key field [field …]
hmset key value [field value …]
hgetall可能引起阻塞(元素太多时)
hexists key field 判断是否存在
hkeys key 获取所有field
hvals key 获取所有value
hgetall 获取所有键值对

hash内部编码实现:

  1. ziplist: 小于list-max-ziplist-entries 配置(默认512),同时每个元素小于list-max-ziplist-value配置(默认64字节);
  2. hashtable:ziplist无法满足时,ziplist读写效率下降

list内部编码实现:
4. ziplist: 小于list-max-ziplist-entries 配置(默认512),同时每个元素小于list-max-ziplist-value配置(默认64字节);
5. linkedlist:ziplist无法满足时
x
1.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值