redis字符编码
以类型string举例,当你存进来的是long类型,redis内部会适配int编码保存值。当你存的是其他数字类型或者字符串时用raw编码存储
redis内部数据接口
字典:
内部是由2个哈希表加上几个记录属性构成,哈希表对应不同的table,每个table上的哈希值绑定一个链表。这个哈希表有扩展和伸缩的过程(都是rehash,扩展是创建一个2倍原长的哈希表,然后把原始的哈希表的数据放如新的哈希表)
跳跃表:
sortset内部的实现。效率近似与平衡树
redis的事务
multi 开启事务 exec 把事务队列的操作执行并结束事务返回ok watch监听属性(在事务开启前设置,若其他客户端改变了在事务中执行的值则本客户端调用exec时,事务执行失败返回null,删除事务队列的值,退出事务)
discard取消一个事务,清空事务队列
redis事务不支持事务嵌套,而且也不支持回滚
发布与订阅
publish 和subscribe,发布到一个channel,改channel下所有订阅者都会获得这条消息
还可以发布消息到模式上