1.1 SET 、GET和 DEL的使用示例
Redis:0>set hello world
"OK"
Redis:0>get hello
"world"
Redis:0>del hello
"1"
Redis:0>get hello
null
Redis:0> 1.2 INCR和DECR操作
Redis:0>get key
null
Redis:0>incr key
"1"
Redis:0>incrby key 15
"16"
Redis:0>decrby key 5
"11"
Redis:0>get key
"11"
Redis:0>set key 13
"OK"
Redis:0>incr key
"14" 1.3 子串操作和二进制位操作
-- 将字符串'hello'追加到目前不存在的'new-string-key'键里
Redis:0>append 'new-string-key' 'hello '
-- 返回当前长度
"6"
Redis:0>append 'new-string-key' 'world!'
"12"
-- Redis的索引以0开始,在进行范围访问时,范围的终点默认也包含在这个范围之内
Redis:0>getrange 'new-string-key' 3 7
"lo wo"
-- 对字符串执行范围设置操作
Redis:0>setrange 'new-string-key' 0 'H'
"12"
Redis:0>setrange 'new-string-key' 6 'W'
"12"
-- 查看字符串当前的值
Redis:0>get 'new-string-keyRedis:0>'
"Hello World!"
-- SETRANGE命令既可以用于替换字符串已有内容,也可以用于增长字符串
Redis:0>setrange 'new-string-key' 11 ', how are you?'
"25"
-- 前面执行的setrange命令移除尾部的感叹号,并将更多字符追加到了字符串末尾
Redis:0>get 'new-string-key'
"Hello World, how are you?"
Redis:0>setbit another-key 2 1
"0"
Redis:0>set bit another-key 7 1
"ERR syntax error"
Redis:0>setbit another-key 7 1
"0"
Redis:0>get another-key
"!"
二.Redis中的列表
2.1 RPUSH、LRANGE、 LINDEX 和LPOP的使用示例
-- 在向列表推入新元素之后,该命令会返回列表当前的长度
Redis:0>rpush list-key item
"1"
Redis:0>rpush list-key item2
"2"
Redis:0>rpush list-key item
"3"
-- 使用0为范围的起始索引,-1为范围的结束索引,可以取出列表包含的所有元素
Redis:0>lrange list-key 0 -1
1) "item"
2) "item2"
3) "item"
-- 使用lindex可以从列表里面取出单个元素
Redis:0>lindex list-key 1
"item2"
-- 从列表里面弹出一个元素,被弹出的元素将不再存在于列表
Redis:0>lpop list-key
"item"
Redis:0>lrange list-key 0 -1
1) "item2"
2) "item"
Redis:0> 2.2 阻塞弹出命令以及元素移动命令
-- 将一些元素添加到两个列表里面
Redis:0>rpush list item1
"1"
Redis:0>rpush list item2
"2"
Redis:0>rpush list2 item3
"1"
-- 将一个元素从一个列表移动到另一个列表,并返回被移动的元素
Redis:0>brpoplpush list2 list 1
"item3"
-- 当列表不包括任何元素时,阻塞弹出操作会在给定的时限内等待可弹出的元素出现,并在时限到达后返回None
Redis:0>brpoplpush list2 list 1
Redis:0>lrange list 0 -1
1) "item3"
2) "item1"
3) "item2"
Redis:0>brpoplpush list list2 1
"item2"
-- BlPOP 命令会从左到右地检查传入的列表,并对最先遇到的非空列表执行弹出操作
Redis:0>blpop list list2 1
1) "list"
2) "item3"
Redis:0>blpop list list2 1
1) "list"
2) "item1"
-- 因为刚刚我们item2移到list2中,所以list的元素到上一步完全弹完
Redis:0>blpop list list2 1
1) "list2"
2) "item2"
Redis:0>blpop list list2 1
Redis:0>
三.Redis中的集合
3.1 SADD、SMEMBERS、 SI SMEMBER和SREM的使用示例
-- 在向集合添加元素时,命令返回1表示元素被成功添加,返回0表示这个元素已经存在于集合中
Redis:0>sadd set-key item
"1"
Redis:0>sadd set-key item2
"1"
Redis:0>sadd set-key item3
"1"
Redis:0>sadd set-key item
"0"
-- 查看集合包含的元素数量
Redis:0>scard set-key
"3"
-- 获取集合包含的所有元素
Redis:0>smembers set-key
1) "item3"
2) "item2"
3) "item"
-- 检查一个元素是否存在于集合中
Redis:0>sismember set-key item4
"0"
Redis:0>sismember set-key item
"1"
-- 移除集合中的元素,返回被移除元素的数量
Redis:0>srem set-key item2
"1"
Redis:0>srem set-key item2
"0"
Redis:0>smembers set-key
1) "item3"
2) "item"
Redis:0> 3.2 差集运算、并集运算、交集运算
-- 将一些元素添加到两个集合里面
Redis:0>sadd skey1 a b c d
"4"
Redis:0>sadd skey2 c d e f
"4"
-- 计算出从第一个集合里面移除第二个集合包含的所有元素的结果
Redis:0>sdiff skey1 skey2
1) "b"
2) "a"
-- 计算出同时存在于两个集合里面的所有元素
Redis:0>sinter skey1 skey2
1) "c"
2) "d"
-- 计算出两个集合包含的所有各不相同的元素
Redis:0>sunion skey1 skey2
1) "d"
2) "a"
3) "b"
4) "c"
5) "e"
6) "f"
Redis:0>
四.Redis中的散列
4.1 HSET、HGET、HGETALL和HDEL的使用示例
-- 在尝试添加键值对到散列的时候,命令会返回一个值来表示给定的键是否已经存在于散列里面
Redis:0>hset hash-key sub-key1 value1
"1"
Redis:0>hset hash-key sub-key2 value2
"1"
Redis:0>hset hash-key sub-key1 value1
"0"
-- 获取散列包含的所有键值对
Redis:0>hgetall hash-key
1) "sub-key1"
2) "value1"
3) "sub-key2"
4) "value2"
-- 删除键值对时候,命令会返回一个值来表示给定的值在移除之前是否存在于散列里面
Redis:0>hdel hash-key sub-key2
"1"
Redis:0>hdel hash-key sub-key2
"0"
-- 从散列里面获取某个键的值
Redis:0>hget hash-key sub-key1
"value1"
Redis:0>hgetall hash-key
1) "sub-key1"
2) "value1"
Redis:0>
Redis:0>hmset myhash field hello field2 world
"OK"
Redis:0>hmget myhash field1;
1) null
Redis:0>hmget myhash field
1) "hello"
Redis:0>hmget myhash field2
1) "world"
Redis:0>hlen myhash
"2"
Redis:0>hdel myhash field
"1"
Redis:0>hdel myhash field2
"1"
Redis:0>hlen myhash
"0"
Redis:0>
五.Redis的有序集合
5.1 ZADD,ZRANGE ,ZRANGEBYSCORE 和ZREM的使用示例
-- 在尝试向有序集合添加元素的时候,命令会返回新添加元素的数量
Redis:0>zadd zset-key 728 member1
"1"
Redis:0>zadd zset-key 982 member0
"1"
Redis:0>zadd zset-key 982 member0
"0"
-- 在获取有序集合包含的所有元素时,多个元素会按照分值大小进行排序
Redis:0>zrange zset-key 0 -1 withscores
1) "member1"
2) "728"
3) "member0"
4) "982"
-- 用户也可以根据分值来获取有序集合中的一部分元素
Redis:0>zrangebyscore zset-key 0 800 withscores
1) "member1"
2) "728"
-- 在移除有序集合元素的时候,命令会返回被移除元素的数量
Redis:0>zrem zset-key member1
"1"
Redis:0>zrem zset-key member1
"0"
Redis:0>zrange zset-key 0 -1 withscores
1) "member0"
2) "982"
Redis:0>
|