redis的常用数据操作命令以及演示
Redis基础知识
- 单进程
- 默认16个数据库,从0开始,默认使用0号库
- 使用SELECT命令切换数据库
- DBSIZE命令查看当前数据库key的数量
- FLUSHDB:清空当前库
- FLUSHALL:通杀所有库
- 统一的密码管理16个库都是相同的密码,一般不会去设置密码
- 默认的端口是6379
- 要知道redis是key value型的数据库
Redis 键(key)的常用操作
命令 | 解释 |
---|---|
KEYS * | 查看当前库下的所有key |
EXISTS | 判断一个key是否存在 |
MOVE | 移除一个key到另一个数据库当中 |
EXPIRE | 设置过期时间 |
TTL | 查看还有多少秒过期 -2代表已经是过期了 |
TYPE | 查看是什么类型的 |
- EXISTS 查看一个key是否存在
- MOVE 移除当前库
- EXPIRE设置过期时间,TTL查看还有多少秒过期
- TYPE查看类型
字符串String
命令 | 解释 |
---|---|
SET | 设置值 |
GET | 获取值 |
DEL | 删除值 |
APPEND | 在指定String类型中的值value追加字符 |
STRLEN | 查看字符串长度 |
INCR | 自增1 |
INCRBY | 自增设置步长 |
DECR | 递减 |
DECRBY | 递减设置步长 |
SETEX | 设置值和过期时间 |
SETNX | 设置key和value避免了覆盖 |
MSET | 设置多个key value |
MGET | 获取多个value |
MSETNX | 设置多个不可覆盖的key如果有一个key存在则整体添加失败 |
- SET GET 设置key value 和获取值
- DEL 删除一个键值对
- APPEND 在指定String类型中的value追加字符
- STRLEN 查看String类型的value长度
- INCR INCRBY自增以及设置自增步长
6.DECR DECRBY递减设置递减步长
- SETEX设置key value 以及设置过期时间
- SETNX设置值避免覆盖
- MSET MGET设置多个值和获取多个值
- MSETNX 这只多个不存在的key,如果有一个存在,则整体添加失败
Redis List
命令 | 解释 |
---|---|
LPUSH | 添加元素反向遍历输出 |
RPUSH | 添加元素正向遍历输出 |
LRANGE | 遍历 |
LINDEX | 按照下标获取元素 |
LREM | 删除多个元素 |
LLEN | 列表长度 |
LTRIM | 截取指定范围的值再赋值给当前集合 |
LPOP | 栈顶元素出栈 |
RPOP | 栈底元素出栈 |
RPOPLPUSH | 出栈+入栈 |
LSET | 给指定位置赋值 |
LINSERT BEFORE /AFTER | 给指定元素的前后添加元素 |
-
RPUSH添加元素正序输出 LPUSH 添加元素反向输出
-
LINDEX 按照下标获取元素
-
LREM 删除几个元素
-
LTRIM 截取指定范围的元素再次赋值
-
栈顶元素出栈
-
栈底元素出栈
-
为列表指定位置赋值
-
INSERT 给指定元素前后添加元素
Redis SET
命令 | 解释 |
---|---|
SADD | 向集合中添加一个或多个元素 |
SMEMBERS | 返回集合中所有元素 |
SISMEMBER | 判断该值是否存在于set中 |
SCARD | 返回成员个数 |
SREM | 移除一个或多个元素 |
SRANDMEMBER | 随即返回几个元素 |
SPOP | 随机移除一个元素 |
SMOVE | 将一个元素从一个集合移除到另一个集合中 |
SDIFF | 差集 |
SINTER | 交集 |
SUNION | 并集 |
- SADD 向集合中添加一个或多个元素
- SISMEMBER 判断该值是否存在于此集合中
- SCARD 查看集合中成员个数
- SRANDMEMBER 随即返回几个元素
- SPOP 随机移除一个元素
- SMOVE 将一个集合中的元素移除到另一个集合中
Redis HASH
命令 | 解释 |
---|---|
HSET | 设置一对key value |
HGET | 获取一对key value |
HMSET | 设置多个 key value |
HMGET | 获取多个 value |
HGETALL | 获取所有的key value |
HDEL | 删除指定key |
HLEN | 获取长度 |
HEXISTS | 检查是否包含此字段 |
HKEYS HVALS | 获取所有key 获取所有value |
HINCRBY HINCRBYFLOAT | 自增整数 自增小数 |
HSETNX | 避免重复添加key |
-
HSET HEGT 设置一对值 获取一个值
-
HMSET HMGET 设置多个值 获取多个值
-
HGETALL 获取所有值 (key,value)
-
HDEL 删除一个键值对
-
HEXISTS 查看是否包含此字段
-
HEYS HVALS 查看集合所有key 所有value
-
HINCRBY HINCRBYFLOAT 集合的值整数自增,浮点自增
Redis Zset
命令 | 解释 |
---|---|
ZADD | 添加一个或多个成员 |
ZCARD | 返回集合中的个数 |
ZRANGE | 返回区间值 |
ZRANGE WITHSCORES | 返回区间值以及分数 |
ZRANGEBYSCORE | 获取指定分数区间的值 ( 代表不包含 |
ZREM | 根据值进行删除 |
ZCOUNT | 统计计数 |
ZRANK | 指定元素的下标位 |
ZREVRANK | 逆序元素下标位 |
ZREVRANGE | 逆序遍历 |
ZSCORE | 对应值获取分数 |
ZREVRANGEBYSCORE | 取出集合中成员从高到低 |
- ZADD 添加一个或多个成员或者更新已经存在的
- ZCARD 获取集合中的成员个数
- ZRANGE 返回区间值
- ZRANGE WITHSCORES 返回区间值以及分数
- ZRANGEBYSCORE WITHSCORE 根据分数获取值 从小到大
- ZREVRANGEBYSCORE WITHSCORE 根据分数获取值 从大到小
- ZCOUNT 统计计数统计在范围中的有多少个元素
- ZRANK 根据值获取下标 ZREVRANK根据值获取反向下标
- ZSCORE 根据只获取分数
- ZREM 删除一个元素
小技巧
类型 | 命令 |
---|---|
set | sadd、scard、srem |
zset | zadd、zcard、zrem |
map | hset、hlen、hdel |
string | set、strln、del |
list | llen lrem |