3-redis-数据类型

key

  • 字符串类型
  • redis内部并不限制binary字符,但redis协议做了限制,即key中不能出现空格、换行符等边界字符
  • redis 1.2以后的协议中部分命令已经采用新的协议格式,但严谨而言,不建议乱用
  • 格式约定
# 长度不要太长,占内存,查找慢;不推荐过短,可读性不好
object-type:id:field
user:1000:password
blog:73972:title

value

  • string
    • 二进制安全,可以包含任何数据,也即字节数组,上限1G
# string类型定义
struct sdshdr {
    long len;     # 数组长度
    long free;    # 剩余可用
    char buf[];   # c里的char是1个字节的
};
  • list
    • string的双向链表
  • set
    • string的无序集合,基于hash table实现
    • 调整大小时获取写锁阻塞其他读写线程,据说在zset中实现的跳表(skip list)可以避免这个
    • 操作:union,intersection,difference
  • zset
    • 与set的差异在于每个string会关联1个score
    • string->score映射在hash table中
    • score->string映射在skip list中
  • hash
    • string类型的field/value映射表
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值