Redis笔记(二)

640?wx_fmt=gif

点击上方蓝字   关注我

1

不知道昨天讲完了Redis的strings之后大家感觉如何,那些命令有没有都尝试一下,然后有人问我那200多个命令是不是都需要记住,其实个人觉得必要不是很大,但是大概都要了解是必须的,不能说你接触一个设计的时候因为不知道redis的某些方面而和她擦肩而过,采用了别的相对不够便捷的设计方案,这样就不好了。

这里在补充一个Redis的知识点,Redis的string不要和c语言的字符串混淆,这是Redis自己实现的一种抽象类型,simple dynamic string简称sds,我们现在做一个最简单的操作,就是在redis-cli中,我们做最简单的set leslie handsome,这个时候键值对的键是一个字符串对象,对象的底层实现的一个保存着"leslie"的的sds,键值对的值也是一个字符串对象,对象的底层实现是一个保存着“handsome”的sds。

SDS不只是单纯的用来保存Redis数据库中的字符串值,还被用作缓冲区,AOF模块的AOF缓冲区,客户端状态的输入缓冲区,都是SDS实现的。关于SDS的具体作用和其与C字符串的区别,我们回头单独讲,还是很有意思的。

2

今天要讲的是另外一种数据结构list,也就是链表,在Redis的实现里,占有举足轻重的地位,列表键,发布和订阅,慢查询,监视器都是用链表实现的,等我们讲到各种功能的时候再一一讲解。

Redis的链表实现其实是一个双端链表,每个链表节点是有一个listNode结构来表示的,每个节点都有一个指向前置节点和后置节点的的指针。我们通过为链表设置不用的类型特定函数,就可以让Redis的链表保存不用的数据类型。

3

1    BLPOP key1 [key2 ] timeout 

2    BRPOP key1 [key2 ] timeout 

3    BRPOPLPUSH source destination timeout 

4    LINDEX key index 

5    LINSERT key BEFORE|AFTER pivot value 

6    LLEN key 

7    LPOP key 

8    LPUSH key value1 [value2] 

9    LPUSHX key value 

10    LRANGE key start stop 

11    LREM key count value 

12    LSET key index value 

13    LTRIM key start stop 

14    RPOP key 

15    RPOPLPUSH source destination 

16    RPUSH key value1 [value2] 

17    RPUSHX key value 

这些命令都是很常见的大家一定都要试试,明天见喽

文 Leslie

排版 Leslie

图均源自网络

喜欢请转发,嘿嘿嘿

640?wx_fmt=jpeg

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值