文章目录
Redis入门
Redis数据类型
5种常用数据类型介绍
Redis存储的是key-value结构的数据,其中key是字符串类型,value有5种常用的数据类型:
- 字符串 string
- 哈希 hash
- 列表 list
- 集合 set
- 有序集合 sorted set / zset
各种数据类型的特点
字符串
普通字符串,Redis中最简单的数据类型
哈希
也叫散列,类似于Java中的HashMap结构
可以存储对象(如:一个人的姓名、年龄等)
列表
按照插入顺序排序,可以有重复元素,类似于Java中的LinkedList
可以存储排行榜、排名等
集合
无序集合,没有重复元素,类似于Java中的HashSet
可以进行集合运算(如两个集合查看交集等)
有序集合
集合中每一个元素关联一个分数(score),根据分数升序排序,没有重复元素
可以适用于各种排行榜(视频播放排行榜、投票排名排行榜等)
Redis常用命令
字符串操作命令
Redis字符串类型常用命令:
-
SET key value
设置指定key的值
-
GET key
获取指定key的值
-
SETEX key seconds value
设置指定key的值,并将key的过期时间设为 seconds 秒(常见的应用场景:短信验证码)
-
SETNX key value
只有在key不存在时设置key的值(常见的应用场景:分布式锁)
哈希操作命令
Redis hash是一个string类型的 field 和 value 的映射表,hash特别适合用于存储对象,常用命令:
-
HSET key field value
将哈希表key中的字段 field 的值设置为 value
-
HGET key field
获取存储在哈希表中的指定字段
-
HDEL key field
删除存储在哈希表中的指定字段
-
HKEYS key
获取哈希表中的所有字段
-
HVALS key
获取哈希表中的所有值
列表操作命令
Redis 列表是简单的字符串列表,按照插入顺序排序,常用命令:
-
LPUSH key value1 [value2]
将一个或多个值插入到列表的头部
-
LRANGE key start stop
获取列表指定范围内的元素
-
RPOP key
移除并获取列表最后一个元素
-
LLEN key
获取列表的长度
集合操作命令
Redis set 是string类型的无序集合。集合成员是唯一的,集合中不能出现重复的数据,常用命令:
-
SADD key member1 [member2]
向集合添加一个或多个成员
-
SMEMBERS key
返回集合中的所有成员
-
SCARD key
获取集合的成员数
-
SINTER key1 [key2]
返回给定所有集合的交集
-
SUNION key1 [key2]
返回所有给定集合的并集
-
SREM key member1 [member2]
删除集合中一个或多个成员
有序集合操作命令
Redis有序集合是string元素类型的集合,且不允许有重复成员。每个元素都会关联一个double类型的分数。常用命令:
-
ZADD key score1 member1 [score2 member2]
向有序集合添加一个或多个成员
-
ZRANGE key start stop [WITHSCORES]
通过索引区间返回有序集合中指定区间内的成员
-
ZINCRBY key increment meber
有序集合中对指定成员的分数加上增量 increment
-
ZREM key member [member...]
移除有序集合中的一个或多个成员
通用命令
Redis的通用命令是不分数据类型的,都可以使用的命令:
-
KEYS pattern
查找所有符合给定模式(pattern)的key
-
EXISTS key
检查给定key是否存在
-
TYPE key
返回key所储存的值的类型
-
DEL key
该命令用于在key存在是删除key