1. Redis数据类型
1.1 五种常用数据类型介绍
Redis存储的是key-value结构的数据,其中key是字符串类型,value有5种常用的数据类型:
-
STRING(字符串):可以存储任意类型的字符串,包括整数、浮点数和二进制数据。常用命令有SET、GET、SETEX、SETNX等。
-
HASH(哈希):用于存储键值对,可以理解为一个关联数组。常用命令有HSET、HGET、HDEL、HKEYS、HVALS 等。
-
LIST(列表):用于存储一个有序的字符串列表。常用命令有LPUSH、LRANGE 、BRPOP 、LPOP、RPOP等。
-
SET(集合):用于存储多个字符串的无序集合,其中每个字符串都是唯一的。常用命令有SADD、SMEMBERS 、SCARD 、SREM、SINTER等。
-
ZSET(有序集合):用于存储多个字符串的有序集合,每个字符串关联一个分数,根据分数进行排序。常用命令有ZADD、ZREM、ZRANGE、ZINCRBY 等。
2. Redis常用命令
2.1 字符串操作命令
Redis 中字符串类型常用命令:
-
SET key value 设置指定key的值
-
SET name jack
-
GET key 获取指定key的值
-
GET name
-
SETEX key seconds value 设置指定key的值,并将 key 的过期时间设为 seconds 秒
-
SETEX code 30 1234
-
SETNX key value 只有在 key 不存在时设置 key 的值
-
SETNX key1 itcast
2.2 哈希操作命令
Redis hash 是一个string类型的 field 和 value 的映射表,hash特别适合用于存储对象,常用命令:
-
HSET key field value 将哈希表 key 中的字段 field 的值设为 value
-
HSET 100 name xiaoming
-
HGET key field 获取存储在哈希表中指定字段的值
-
HGET 100 name
-
HDEL key field 删除存储在哈希表中的指定字段
-
HDEL 100 name
-
HKEYS key 获取哈希表中所有字段
-
HKEYS 100
-
HVALS key 获取哈希表中所有
-
HVALS 100
2.3 列表操作命令
Redis 列表是简单的字符串列表,按照插入顺序排序,常用命令:
-
LPUSH key value1 [value2] 将一个或多个值插入到列表头部
-
LPUSH mylist a b c
-
LRANGE key start stop 获取列表指定范围内的元素
-
LRANGE mylist 0 -1
-
RPOP key 移除并获取列表最后一个元素
-
RPOP mylist
-
LLEN key 获取列表长度
-
LLEN mylist
2.4 集合操作命令
Redis set 是string类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据,常用命令:
-
SADD key member1 [member2] 向集合添加一个或多个成员
-
SADD set1 a b c d
-
SMEMBERS key 返回集合中的所有成员
-
SMEMBERS set1
-
SCARD key 获取集合的成员数
-
SCARD set1
-
SINTER key1 [key2] 返回给定所有集合的交集
-
SINTER set1 set2
-
SUNION key1 [key2] 返回所有给定集合的并集
-
SUNION set1 set2
-
SREM key member1 [member2] 移除集合中一个或多个成员
-
SREM set1 a
2.5 有序集合操作命令
Redis有序集合是string类型元素的集合,且不允许有重复成员。每个元素都会关联一个double类型的分数。常用命令:
常用命令:
-
ZADD key score1 member1 [score2 member2] 向有序集合添加一个或多个成员
-
ZADD zset1 10.0 a 10.5 b
-
ZRANGE key start stop [WITHSCORES] 通过索引区间返回有序集合中指定区间内的成员
-
ZRANGE zset1 0 -1
-
ZINCRBY key increment member 有序集合中对指定成员的分数加上增量 increment
-
ZINCRBY zset1 5.0 a
-
ZREM key member [member ...] 移除有序集合中的一个或多个成员
-
ZREM zset1 b
2.6 通用命令
Redis的通用命令是不分数据类型的,都可以使用的命令:
-
KEYS pattern 查找所有符合给定模式( pattern)的 key
-
KEYS set*
-
EXISTS key 检查给定 key 是否存在
-
EXISTS name
-
TYPE key 返回 key 所储存的值的类型
-
TYPE zset1
-
DEL key 该命令用于在 key 存在是删除 key
-
DEL zset1