Redis的基本命令

Redis的基本命令

1.String类型

语法 说明 用法
set,get 赋值,取值 set s1 111 | get s1
mset,mget 多值操作 mset s1 111 s2 222 s3 333 | mget s1 s3
del 删除 del s1
incr,decr 数值增减(步长) incr s1 | decr s1 | ince s1 5
append 向尾部追加值,返回总长度。若该键不存在,则新建 append s1 world
strlen 获取字符串长度,不存在则返回0 strlen s1

2.Hash(散列)类型

hash叫散列类型,它提供了字段和字段值的映射。字段值只能是字符串类型,不支持散列类型、集合类型等其它类型。

语法 说明 使用
hset 插入或更新。一次只能设置一个字段值。插入返回1,更新返回0 hset user username zhangsan
hmset 一次插或修改入多个字段 hset user username zhangsan password 123
hsetnx 作用类似hset.不同的是该命令不会去修改已存在的字段 hsetnx user username jack
hget 取值,一次只能取一个字段 hget user username
hmget 一次取多个字段 hmget user username password
hgetall 获取所有字段值,返回所有的key,value hgetall user1
hdel 可以删除一个或多个字段,返回值是被删除的字段个数 hdel user1 usernaem password
hincrby 按步长(必填),增加数字,返回增长后的结果 hincrby user1 age 5
hexists 查看字段是否存在。存在返回1,不存在返回0 hexits users age
hkeys,hvals 获取字段名或字段值 hkeys user1 | hvals user1
hlen 获取字段数目 hlen user1

3.List类型

Redis的list是采用来链表来存储的,所以对于redis的list数据类型的操作,是操作list的两端数据来操作的。 
Redis的基本命令

语法 说明 使用
LPUSH|RPUSH key value [value …] 向列表左右两端添加元素 lpush list1 1 2 3
LPOP key|RPOP key 从列表的左(右)端弹出一个元素,并返回该值。 LPOP list
LRANGE key start stop 查看列表,索引从0开始。
索引可以是负数,-1代表最后一个元素。
 
LLEN key 获取列表中元素的个数 llen l1
LREM key count value 删除前count个值为value的元素
返回实际删除的元素个数。
LREM l1 0 3
LINDEX key index 获得指定索引的元素 LINDEX l1 3
LSET key index value 设置指定索引的元素值 LSET l1 1 6
LTRIM key start stop 只保留列表指定的片段 LTRIM L1 0 3
LINSERT key BEFORE|AFTER pivot value 向列表中插入元素。先找值为pivot的元
素再向前(后)插入值
LINSERT l1 before 2 3
RPOPLPUSH source destination 将单个元素从一个列表转移到另一个列表 RPOPLPUSH l1 l2

特别指出:

LREM key count value

count的取值 >0 <0 =0
  从左开始删 从右开始删 删除所有值为value的元素

当count>0,从左开始删,count<0从右开始删删。count=0,删除所有对应元素

4. Set

集合类型

区分: 
集合类型:无序、不可重复 
列表类型:有序、可重复

语法 说明 使用
SADD key member [member …] 添加元素 SADD set1 a b c
SREM key member [member …] 删除元素 SREM set1 b c
SMEMBERS key 获取集合的所有元素 SMEMBERS set1
SISMEMBER key member 判断元素是否在集合中。在集合中返回1,不在返回0 SISMEMBER set1 a
SDIFF key [key …] 集合的差集运算 A-B,返回属于A但不属于B的元素 SDIFF SETA SETB
SINTER key [key …] 集合的交集运算,返回既属于A又属于B的元素 SINTER SET1 SET2
SUNION key [key …] 集合的并集运算 A ∪ B SUNION SET1 SET2
SCARD key 获得集合的元素个数 SCARD SET1
SPOP key 从集合中随机弹出一个元素 SPOP SET1

5.Sortedset

Sortedset又叫zset。

Sortedset是有序集合,可排序的,但是唯一。

Sortedset和set的不同之处,是会给set中的元素添加一个分数,然后通过这个分数进行排序。

语法 说明 使用
ZADD key score member
[score member …]
向有序集合中加入一个元素
和该元素的分数
ZADD zset1 97 lisi
ZSCORE key member 获取元素的分数 ZSCORE zset1 lisi
ZREM key member [member …] 删除元素 ZREM zset1 lisi jack
ZRANGE key start stop [WITHSCORES] 按照元素分数从小到大的顺序
返回索引从start到stop之间的
所有元素,含两端
ZRANGE zset1 0 2
ZREVRANGE key start stop [WITHSCORES] 按照元素分数从大到小的顺序
返回索引从start到stop之间的
所有元素,含两端
ZREVRANGE zset1 0 2
ZRANK key member 从小到大获得元素的排名(0开始) ZRANK zset1 jack
ZREVRANK key member 从大到小获得元素的排名(0开始) ZRANK zset1 jack
ZRANGEBYSCORE key min max 
[WITHSCORES] [LIMIT offset count]
获得指定分数范围的元素 ZRANGEBYSCORE zset1 75 90 limit 0 2
ZINCRBY key increment member 增加某个元素的分数 ZINCRBY zset1 6 rose
ZCARD key 获得集合中元素的个数 ZCARD zset1
ZCOUNT key min max 获得指定分数范围内的元素个数 ZCOUNT zset1 80 99
ZREMRANGEBYRANK key start stop 按排名范围删除元素 ZRENRANGEBYRANK zset1 0 1
ZREMRANGEBYSCORE key min max 按分数范围删除元素 ZREMRANGEBYSCORE zset1

60 70

6. 其它命令

6.1 其它常用命名

语法 说明 使用
keys * 返回满足给定pattern 的所有key keys list*
exists key 确认一个key 是否存在 exists s1
del key 删除一个key del s1
rename key newkey 重命名一个key rename key new_key
type 返回值得类型 type zset1

6.2 设置key的生存时间

  Redis在实际使用过程中更多的用作缓存,然而缓存的数据一般都是需要设置生存时间的,即:到期后数据销毁。

语法 说明
EXPIRE key seconds 设置key的生存时间(单位:秒),即多少秒后key会自动删除
TTL key 查看key剩余的生存时间
PERSIST key 清除key的剩余时间,即永久有效
PEXPIRE key milliseconds 生存时间设置单位为:毫秒