一、字符串命令:
1、字符串基本操作:
2、自增自减 :如果一个值可以被解释为十进制整数或者浮点数,redis允许用户对这个字符串进行INCR*、DECR*操作。
(1)INCR key:将键存储的值的值加1。
(2)DECR key:将键存储的值减1。
(3)INCRBY key increment:将键存储的值加上整数?increment。
(4)DECRBY key decrement:将键存储的值减去整数?decrement。
(5)INCRBYFLOAT?key decrement:将键存储的值加上浮点数decrement。这个命令在redis2.6及以上可以使用。
127.0.0.1:6379> set age 1
OK
127.0.0.1:6379> INCR age
(integer) 2
127.0.0.1:6379> get age
"2"
127.0.0.1:6379> DECR age
(integer) 1
127.0.0.1:6379> get age
"1"
127.0.0.1:6379> INCRBY age 3
(integer) 4
127.0.0.1:6379> get age
"4"
127.0.0.1:6379> DECRBY age 1
(integer) 3
127.0.0.1:6379>
3、处理子串和二进制位:
(1)APPEND
(2)GETRANGE:
(3)SETRANGE:
(4)GETBIT:
(5)SETBIT:
(6)BITCOUNT:
(7)BITOP:
二、列表命令:
1、基础命令:
(1)lpush 命令:在 列表 的左侧添加元素,成功返回当前列表的长度。?
127.0.0.1:6379> lpush key java
(integer) 1
? ?lpush 一次可以给 key 添加多个 value
127.0.0.1:6379> lpush key python php c
(integer) 4
? (2)rpush 命令:在 列表 的右侧添加元素,用法和 lpush 相同。
127.0.0.1:6379> rpush key rust
(integer) 6
127.0.0.1:6379> rpush key asm scala
(integer) 8
(3)lpop 命令:从列表的左侧弹出一个值
(4)rpop 命令:从列表的右侧弹出一个值
(5)llen 命令:??返回列表的当前长度
127.0.0.1:6379> llen key
(integer) 8
(6)lindex 命令:?返回列表指定索引位置的值:
127.0.0.1:6379> lindex key 1
"python"
(7)lrange 命令:?查看列表指定范围的值
127.0.0.1:6379> lrange key 0 3
1) "c++"
2) "c"
3) "php"
4) "python"
(8)ltrim 命令:用于截取列表内元素
127.0.0.1:6379> ltrim key 0 5
OK
127.0.0.1:6379> lrange key 0 -1
1) "c++"
2) "c"
3) "php"
4) "python"
5) "java"
6) "rust"
2、阻塞式命令:这组命令常用于消息传递、任务队列。
(1)blpop 命令:从第一个非空列表中弹出位于最左端的元素,或者在timeout秒之内阻塞并等待可弹出的元素出现。
blpop key [key ...] timeout
demo:同时开两个 Redis 的客户端,然后在客户端一输入如下命令:
#在 key1 和 key2 列表中弹出一个值,如果两个列表都为空则阻塞 5 秒,因为现在 key1 和 key2 都为空,因此 blpop 阻塞了 5 秒。
127.0.0.1:6379> blpop key1 key2 5
(nil)
(5.06s)
再次在客户端一输入如下命令:
127.0.0.1:6379> blpop key1 key2 20
??由于 key1 和 key2 同样什么都没有,因此 blpop 命令进入 20 秒的阻塞状态,此时,我们在客户端二输入如下命令:
127.0.0.1:6379> lpush key1 java
(integer) 1
观察客户端一,客户端一输出如下:
1) "key1"
2) "java"
(9.51s)
也就是客户端一的 blpop 阻塞了 9.51 秒 以后 key1 列表弹出一个值 java。
(2)brpop 命令:?从第一个非空列表中弹出位于最右端的元素,或者在timeout秒之内阻塞并等待可弹出的元素出现。
(3)rpoplpush 命令:
(4)brpoplpush 命令?:
三、集合命令:
1、基本命令:
(1)SADD:
(2)SREM:
(3)SISMEMBER:
(4)SCARD:
(5)SMEMBERS:
(6)SRANDMEMBER:
(7)SPOP:
(8)SMOVE:
2、用于组合和处理多个集合的redis命令:
(1)SDIFF:
(2)SDIFFSTORE:
(3)SINTER:
(4)SINTERSTORE:
(5)SUNION:
(6)SUNIONSTORE:
四、散列: