Redis | 使用指南
安装与环境配置
Mac 环境下
使用homebrew安装
brew install redis
启动redis
//方式一:使用brew帮助我们启动软件
brew services start redis
//方式二
redis-server /usr/local/etc/redis.conf
执行命令 redis-server
通过 redis-cli 连接 Redis
redis-cli -h 127.0.0.1 -p 6379
基本指令
数据库 | 全局
redis-cli -h 172.19.34.103 -p 12379
连接redis数据库Auth "OyIKglTFsDGEIlBM"
登录,后面是数据库密码select <索引0-15>
切换到指定数据库dbsize
查看所有key的数目flushdb
删除当前选择数据库中的所有keyflushall
删除所有数据库中的所有keysave
: 将数据同步保存到磁盘bgsave
: 异步保存lastsave
: 上次成功保存到磁盘的Unix时间戳info
: 查询server信息ping
pong检测redis服务器是否启动
Key相关
-
keys *
查看当前数据库所有的Key -
type(s) key
指定字段类型 -
get key
获取指定key -
rename key <newKey>
修改key的名称 -
del key
删除key -
expire key <second>
设置key过期时间 -
TTL key
剩余生存时间 -
exists key
判断key是否存在 -
keys aaa*
查看前缀是aaa的key ;可能会使服务器卡顿,而出现事故,用下面那个 -
SCAN 0 MATCH aaa* COUNT 5
表示从游标0开始查询aaa开头的key,每次返回5条,但是这个5条不一定,只是给Redis打了个招呼,具体返回数量看Redis心情 -
keys *aaa*
查看包括aaa的key -
keys *aaa
查看后缀是aaa的key
string相关
普通字符串的基本操作:
# 设置 key-value 类型的值
> SET name lin
OK
# 根据 key 获得对应的 value
> GET name
"lin"
# 判断某个 key 是否存在
> EXISTS name
(integer) 1
# 返回 key 所储存的字符串值的长度
> STRLEN name
(integer) 3
# 删除某个 key 对应的值
> DEL name
(integer) 1
批量设置 :
# 批量设置 key-value 类型的值
> MSET key1 value1 key2 value2
OK
# 批量获取多个 key 对应的 value
> MGET key1 key2
1) "value1"
2) "value2"
hash相关
hset myhash name ljh 添加一个键值对
hget myhash name 取出值
hmset myhash name ljh age 20 note "i am notes" 批量键值对
hmget myhash name age note
hgetall myhash 获取所有的键值对
hexists myhash name 是否存在
hsetnx myhash score 100 不存在的话创建,存在的话修改
hdel myhash name 删除
hkeys myhash 只取key
hvals myhash 只取value
hlen myhash 长度
list相关
lpush mylist a b c 左插入
rpush mylist x y z 右插入
lrange mylist 0 -1 查询所有的数据
lpop mylist 弹出一个元素
rpop mylist 弹出一个元素
llen mylist 长度
lrem mylist count value 根据值来删除(count表示要删除多少个值为value的元素)
lindex mylist 2 指定索引的值
linsert mylist before 1 value 在值为1前面插入value值
linsert mylist after 1 value 在值为1的后面插入value值
rpoplpush list list2 将list的最后一个元素移到list2中
set相关
sadd myset e 添加一个元素
smembers myset 查询所有的数据
srem myset e 删除
sismember myset e 判断元素是否在集合中
scard key_name 获取set集合中元素个数
sdiff | sinter | sunion <key> <key> 操作:集合间运算:差集 | 交集 | 并集
srandmember 随机获取集合中的元素
spop 从集合中弹出一个元素
zset相关
zadd zset 1 one 添加一个元素(1表示score,用作排序使用)
zadd zset 2 two
zadd zset 3 three
zincrby zset 1 one 分数+1
zscore zset two 获取分数
zrange zset 0 -1 获取全部的值
zrange zset 0 -1 withscores 获取全部值并附带分数
zrangebyscore zset 10 25 withscores 分数在某个范围的值
zrangebyscore zset 10 25 withscores limit 1 2 分页
Zrevrangebyscore zset 10 25 withscores 指定范围的值从大到小排序
zcard zset 元素数量
Zcount zset 获得指定分数范围内的元素个数
Zrem zset one two 删除一个或多个元素
Zremrangebyrank zset 0 1 按照排名范围删除元素
Zremrangebyscore zset 0 1 按照分数范围删除元素
评论区