基本语法
键值对
来自try-redis
设置key-value。SET key value1
2> SET server_name "bi"
> GET server_name => "bi"
SETNX key value: (SET-if-not-exists)1
> SETNX number 12 => if exists return (integer) 1 else (integer) 0
INCR key: 给key存储的value(必须是integer)加1,该操作满足原子性。如果key不存在初始化为0然后加1并返回11
INCR number => (integer) 13
EXPIRE + TTL: 设置+查看key的过期时间(s)。如果一个key已经过期,TTL会返回-2,反之,返回其剩下的秒数。如果一个key未设置EXPIRE,TTL返回-1,表示永不过期。1
2
3
4
5
6SET expire:clock 'demo'
EXPIRE expire:clock 120
TTL expire:clock => (120s内) 剩余时间 / => (超时) -2
SET server_name 'bi'
TTL server_name => -1
链表list
redis的list是一系列有序的值。
RPUSH: right push,向链表右边添加值1
2RPUSH friends "PIJI"
RPUSH friends "NAIJI"
LPUSH: left push, 向链表左边添加值1
LPUSH friends "HEJI"
LRANGE: list in range, 列出range内的节点,range是闭区间1
LRANGE friends 0 2 => 1) "HEJI" 2) "PIJI" 3) "NAIJI"
LLEN: 返回链表的长度1
LLEN friends => (integer) 3
LPOP: 弹出并返回最左的值1
LPOP friends =>"HEJI"
RPOP: 弹出并返回最右侧的值1
RPOP friends => "NAIJI"
集合set
set内部的值是无序的,内部无重复的值。
SADD: 添加不重复的值1
2SADD uniq "PIJI" => (integer) 1 添加成功
SADD uniq "PIJI" => (integer) 0 未添加成功,不能重复
SREM: 删除值1
SREM uniq "PIJI"
SISMEMBER: 值是否属于set(1/0)1
SISMEMBER uniq "PIJI" => 1
SMEMBERS: 返回set所有的值1
SMEMEBERS uniq => 1) "PIJI"
SUNION: 两个或多个集合的交集1
2
3
4
5SADD special "NAIJI"
SADD special "CHOUCHOUJI"
SADD cute "ZHUZHUJI"
SUNION uniq special cute => 1) "PIJI" 2) "NAIJI" 3) "CHOUCHOUJI" 4) "ZHUZHUJI"
有序集合Sorted Set
除了是有序的之外,其他特性都跟set一样。每个值都有个与之配对的分数(score),sorted set利用分数来给每个值排序
ZADD: 添加值1
2
3
4
5ZADD alphabet 0 "a"
ZADD alphabet 1 "b"
ZADD alphabet 3 "d"
ZADD alphabet 7 "h"
ZADD alphabet 2 "c"
ZRANGE: 输出range范围内(闭区间)的值1
ZRANGE alphabet 0 2 => 1) "a" 2) "b" 3) "d"
哈希表Hashes
哈希表里存着键值对
HSET: 建一个哈希表存一个键值对
HMSET: 一次存多个键值对1
2
3
4
5
6
7分步
HSET user_1000 name "PIJI"
HSET user_1000 age 23
HSET user_1000 email "123@321.com"
HSET user_1000 password "123321"
一步到位
HMSET user_1000 name "piji" age 23 email "123@321.com" password "hidden"
HGETALL: 打印哈希表里所有的键值对
HGET: get某一个key的value1
2HGETALL user_10
HGET user_10 name
HINCRBY: 为integer类型的value加上设置的任意整数 满足原子性1
HINCRBY user_10 age 10 => 23
HDEL: 删除表中的key对应的键值对1
HDEL user_10 password