Redis 基础

Posted on 2020-12-22 19:01  FirstLine  阅读(49)  评论(0)    收藏  举报

基本操作

# 选择数据库
> select 数据库序号[0-15]
# 查看所有 key
> keys *
# 判断一个键是否存在
> exists key
# 删除键
> del key
# 获取数据类型
> type key
# 清除当前数据库所有key
> flushdb
# 清除所有数据库所有键
> flushall
# 查看数据库当前状态
> info
# 设置过期时间(单位:秒)
> expire key time
# 查看过期时间
> ttl key
# 取消过期时间
> persist key

字符串

# 创建或更新一个字符串
> set key value/newValue
# 例:
> set username "jack"
# 注意:如果不希望set命令覆盖旧的值,可以添加一个参数 "NX",例:
> set username "mike" NX
# 读取数据
> get key
# 例:
> get username
# 未获取到数据返回(nil)

# 同时获得/设置多个键值
mget key1 key2 key3
mset key1 value1 key2 value2 key3 value3
# 给字符串末尾添加字符串
> append key value
# 例:
> append username "123"
# 设置后 username 的数据变为 jack123
# 数值加 1
> incr key
# 数值减 1
> decr key
# 数值加 n
> incrby key n
# 数值减 n
> decrby key n
# 数值增加浮点数
> incrbyfloat key n.m
# 获取字符串长度
> strlen key

列表

# 左插入(类似链表头插法,查询出来数据顺序是倒的,索引是正的)
> lpush key value1 value2 value3
# 右插入(类似链表尾插法)
> rpush key value1 value2 value3
# 例:
> lpush left_list "jack" "mike" "alice"
# 查看列表长度
> llen key
# 例:
> lpush left_list
# 根据索引查看数据
## 索引从0开始
## 开始索引如果是复数,表示从右边起计算个数
## 结束索引如果是-1,表示从开始索引到最后一个元素)
> lrange key 开始索引 结束索引
# 例:
> lrange left_list 0 -1
# 左弹出数据(类似于删除链表头部数据)
> lpop key
# 右弹出数据
> rpop key
# 修改列表数据
> lset key index 新值

集合

# 创建集合
> sadd key value1 value2 value3
# 例:
> sadd set_demo 1 2 3 4 5 6
# 查询集合元素数量
> scard key
# 获取集合元素数据(数据获取后会被从集合中删除)
> spop key count
# 例(获取随机的三个数据):
> spop set_demo 3
# 获取集合中的所有数据
> smembers key
# 例:
> smembers set_demo
# 从集合删除特定数据
> srem key value1 value2 value3
# 查看集合的交集
> sinter key1 key2 key3
# 查看集合的并集
> sunion key1 key2 key3
# 查看集合的差集
> sdiff key1 key2 key3

散列(hash)

# 设置单个字段数据
> hset key field value
# 设置多个字段数据
> hmset key field1 value1 field2 value2 field3 value3
# 获取单个字段数据
> hget key filed
# 获取多个字段数据
> hmget key field1 field2 field3
# 获取所有字段数据
> hgetall key
# 只有在字段不存在时设置值
> hsetnx key field value

# 获取所有字段
> hkeys key
# 获取所有字段数量
> hlen key
# 获取所有(符合条件的)字段跟值
> hscan key cursor [MATCH pattern] [COUNT count]
# 判断字段是否存在
> hexists key field
# 删除一个或多个字段
> hdel key field1 field2 field3

有序集合

# 添加一个或多个成员
> zadd key score1 member1 score2 member2 score3 member3
# 查询序号区间数据个数
> zcount key min max
# 获取集合中的所有(符合条件的)元素
> zscan key cursor [MATCH pattern] [COUNT count]

发布订阅

# 订阅一个或多个频道
> subscribe channel1 [channel2 channel3]
# 定于一个或多个符合给定模式的频道
> psubscribe pattern [pattern ···]
# 查看存在的所有频道
> pubsub channels
# 发布一条消息
> publish channel message
# 退订一个或多个频道
> unsubscribe channel1 [channel2 channel3]
# 退订符合给定模式的的频道
> punsubscribe pattern [pattern]

事务

# 开始事务
> multi
# 触发执行事务
> exec
# 取消事务
> discard
# 监控一个或多个key,如果在执行事务前该key值发生变化,则中断事务执行
> watch key [key ···]