redis基本语法

基本语法

键值对

来自try-redis
设置key-value。SET key value

1
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并返回1

1
INCR number => (integer) 13

EXPIRE + TTL: 设置+查看key的过期时间(s)。如果一个key已经过期,TTL会返回-2,反之,返回其剩下的秒数。如果一个key未设置EXPIRE,TTL返回-1,表示永不过期。

1
2
3
4
5
6
SET 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
2
RPUSH 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
2
SADD 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
5
SADD 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
5
ZADD 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的value

1
2
HGETALL user_10 
HGET user_10 name

HINCRBY: 为integer类型的value加上设置的任意整数 满足原子性

1
HINCRBY user_10 age 10 => 23

HDEL: 删除表中的key对应的键值对

1
HDEL user_10 password