redis是一种 key-value 的存储系统,包含了5种数据类型
string 字符串类型、hash 表类型、list 列表类型、set 集合类型、zset 有序集合类型
1、string字符串类型(键-->值)
set 键 值 | 添加一个键和值,eg : set student Lisa |
get 键 | 从数据库中取出一个指定键的值,有返回值,如果没有返回nil。eg: get student-->Lisa |
del 键 | 删除指定的键和值,如果删除成功,返回删除的个数。否则返回0。eg: del student |
setnx 键 值 | 在指定的key不存在时,为key设置指定的值。设置成功,返回1;设置失败,返回0。 |
2、hash表类型【键-->(字段-->值)】
hset 键 字段 值 | 向指定的键中添加一对hash类型的字段名和值。eg: hset class name Jisoo |
hget 键 字段 | 取出指定键的指定字段的值。eg: hget class name-->Jisoo |
hmset 键 字段 值 字段 值 | 一次向某个键中设置多个字段和值。eg:hmset class name Jennie age 26 |
hmget 键 字段 字段 | 一次从指定的键中得到多个字段的值。eg:hget class name age |
hdel 键 字段 字段 | 删除一个键中的一个或多个字段。eg:hdel class name age |
hgetall 键 | 得到某个键所有的字段值。eg:hgetall class |
3、list列表类型
List类型是按照插入顺序排序的字符串链表,分左右两端,可在两端进行操作。
lpush 键 元素 元素 | left push 在列表的左边向指定的键中添加列表元素,如果该键并不存在,Redis将为该键创建一个新的链表,如果这个键已经存在,则是向list添加元素。 |
rpush 键 元素 元素 | right push 在列表的右边向指定的键中添加列表元素。 |
lpop 键 | left pop 从指定键中的左边弹出一个元素,即删除一个元素。 |
rpop 键 | right pop 从指定键的右边弹出一个元素删除。 |
lrange 键 开始 结束 | 从指定键的列表中取出指定范围的元素列表,从左边数起从0(0,1,2,...)开始,从右边数起从-1(-1,-2,-3,...)开始。如果要取整个列表,开始是0,结束是-1。 |
llen 键 | 得到指定列表的长度。 |
命令示例:
eg: lpush list 1 2 3
eg: rpush list a b c
eg: lpop/rpop list
eg: lrange list 0 -1
eg: llen list
4、Set集合类型(无序,不可有重复元素)
sadd 键 元素 元素 | 向set集合中添加1个或多个元素 |
smembers 键 | 查询指定的集合中所有的元素 |
sismember 键 元素 | 判断指定的元素是否在某个集合中,如果存在返回1,否则返回0 |
srem 键 元素 元素 | remove 删除指定的一个或多个元素 |
sunion 键1 键2 | 返回给定集合的并集。不存在的集合 key 被视为空集。 |
命令示例:
eg: sadd list a b c d
eg: smembers list(结果是无序的)
eg: sismember list a
eg: srem list a b
eg: sunion list1 list2
5、Zset有序集合类型
Redis 有序集合和集合一样也是无序不可以重复。
不同的是每个元素都会关联一个分数。redis正是通过分数来为集合中的成员进行从小到大的排序。有序集合的成员是唯一的,但分数(score)却可以重复,每个集合可存储40多亿个成员。
zadd 键 分数 值 分数 值 | 向有序集合添加一个或多个成员 |
zrange 键 开始索引 结束索引 | 通过索引区间返回有序集合中指定区间内的成员 |
zrem 键 值 值 | 移除有序集合中的一个或多个成员 |
zrank 键 值 | 返回有序集合中指定成员的索引 |
zcard 键 | 获取有序集合的成员数 |
zscore 键 值 | 得到指定成员的分数 |
该文章参考、学习于陶然同学