1、字元串(String) 基本操作:SET(設置)、GET(獲取)、DEL(刪除)高階操作傳送門 2、列表(List) 基本操作:LPUSH/RPUSH(將元素推入列表左端/右端)、LPOP/RPOP(從列表左/右彈出元素)、LINDEX(獲取指定位置上的元素)、LRANGE(獲取指定範圍內的元素 ...
1、字元串(String)
基本操作:SET(設置)、GET(獲取)、DEL(刪除)高階操作傳送門
root@localhost:~# redis-cli 127.0.0.1:6379> set msg hello OK 127.0.0.1:6379> get msg "hello" 127.0.0.1:6379> del msg (integer) 1 127.0.0.1:6379> get msg (nil)
2、列表(List)
基本操作:LPUSH/RPUSH(將元素推入列表左端/右端)、LPOP/RPOP(從列表左/右彈出元素)、LINDEX(獲取指定位置上的元素)、LRANGE(獲取指定範圍內的元素)
root@localhost:~# redis-cli 127.0.0.1:6379> rpush list 5 (integer) 1 127.0.0.1:6379> rpush list 6 (integer) 2 127.0.0.1:6379> lpush list 4 (integer) 3 127.0.0.1:6379> lrange list 0 -1 #可以用來獲取當前列表中所有元素 1) "4" 2) "5" 3) "6" 127.0.0.1:6379> lpop list "4" 127.0.0.1:6379> rpop list "6" 127.0.0.1:6379> lindex list 0 "5" 127.0.0.1:6379> lindex list 1 (nil) 127.0.0.1:6379> lrange list 0 -1 1) "5" 127.0.0.1:6379> get list (error) WRONGTYPE Operation against a key holding the wrong kind of value 127.0.0.1:6379> del list (integer) 1 127.0.0.1:6379> lrange list 0 -1 (empty list or set)
3、集合(Set)
集合與列表的不同之處在於,集合儲存的元素是無序且各不相同的。
基本操作:SADD(添加元素)、SREM(移除元素)、SISMEMBER(給定元素是否在集合中)、SMEMBERS(返回集合中所有元素)
root@localhost:~# redis-cli 127.0.0.1:6379> sadd set 7 (integer) 1 127.0.0.1:6379> sadd set 7 (integer) 0 127.0.0.1:6379> sadd set 8 9 (integer) 2 127.0.0.1:6379> smembers set 1) "7" 2) "8" 3) "9" 127.0.0.1:6379> sismember set 1 (integer) 0 127.0.0.1:6379> sismember set 7 (integer) 1 127.0.0.1:6379> srem set 7 (integer) 1 127.0.0.1:6379> smembers set 1) "8" 2) "9" 127.0.0.1:6379> srem set 1 (integer) 0
4、散列(hash)
散列儲存多個鍵值對之間的映射,顯然鍵需要各不相同。
基本操作:HSET(關聯給定的鍵值對)、HGET(獲取給定鍵的值)、HGETALL(獲取所有鍵值對)、HDELL(刪除給定鍵的鍵值對)
root@localhost:~# redis-cli 127.0.0.1:6379> hset hash a 1 (integer) 1 127.0.0.1:6379> hset hash b 2 c 3 (error) ERR wrong number of arguments for 'hset' command 127.0.0.1:6379> hset hash b 2 (integer) 1 127.0.0.1:6379> hgetall hash 1) "a" 2) "1" 3) "b" 4) "2" 127.0.0.1:6379> hset hash a 3 (integer) 0 127.0.0.1:6379> hget hash a "3" 127.0.0.1:6379> hdel hash a (integer) 1 127.0.0.1:6379> hget hash a (nil) 127.0.0.1:6379> hdel hash a (integer) 0 127.0.0.1:6379> hgetall hash 1) "b" 2) "2"
5、有序集合(Sorted Set)
有序集合儲存鍵值對,其中,鍵必須各不相同,稱為成員(member),值須為浮點數,稱為分數(score)
基本操作:ZADD(添加帶分數的成員或更新成員的分數)、ZRANGE [WITHSCORES](根據給定的位置,獲取按分數升序排列的有序集合中的成員[分數])、ZRANGEBYSCORES [WITHSCORES](獲取有序集合在給定分數範圍內的成員[分數])、ZREM(移除成員)
root@localhost:~# redis-cli 127.0.0.1:6379> zadd zset 110 i1 (integer) 1 127.0.0.1:6379> zadd zset 10 i2 200 i3 (integer) 2 127.0.0.1:6379> zrange zset 0 -1 1) "i2" 2) "i1" 3) "i3" 127.0.0.1:6379> zrange zset 0 -1 withscores 1) "i2" 2) "10" 3) "i1" 4) "110" 5) "i3" 6) "200" 127.0.0.1:6379> zrangebyscore zset 0 150 withscores 1) "i2" 2) "10" 3) "i1" 4) "110" 127.0.0.1:6379> zrem zset i1 (integer) 1 127.0.0.1:6379> zrangebyscore zset 0 150 withscores 1) "i2" 2) "10"