Redis
Redis是一个开源的使用ANSI C语言编写、支持网络、 可基于内存亦可持久化的日志型、Key-Value型 NoSQL数据库,并提供多种语言的API。从2010年3 月15日起,Redis的开发工作由VMware主持。从 2013年5月开始,Redis的开发由Pivotal赞助。
一、配置选项
命令 |
示例 |
说明 |
daemonize |
deamonize yes |
是否启用后台运行,默认”no” |
port |
port 6379 |
设置端口号,默认6379 |
lgfile |
logfile日志文件 |
设置日志文件 |
databases |
databases 255 |
设置redis数据库总量 |
dir |
dir 数据文件目录 |
设置数据文件存储目录 |
requirepass |
requirepass 12345 |
设置使用密码 |
二、通用命令
命令 |
示例 |
说明 |
select |
select 0 |
选择0号数据库 |
keys |
keys * |
查询所有 |
dbsize |
dbsize |
返回key的总数 |
exists |
exists a |
检查key=a是否存在 |
del |
del a |
删除key=a的数据 |
expire |
expire hello 20 |
设置key=hello 20秒后过期 |
ttl |
ttl hello |
查看key=a的过期剩余时间 |
三、数据结构
1、String
1.1 字符串类型
key |
value |
hello |
world |
counter |
3321 |
bits |
1001010 |
1.2 字符串指令
命令 |
示例 |
说明 |
get |
get hello |
获得key=hello的value |
set |
set hello world |
设置key=hello,value=hello |
mset |
mset hello world java best |
一次性设置多个kv |
mget |
mget hello java |
一次性获取多个kv |
del |
del hello |
删除key=hello |
incr/decr |
incr/decr count |
key值自增/自减1 |
incrby/decrby |
incrby/decrby count 10 |
自增/自减 10 |
|
|
|
2、Hash
2.1 Hash键值结构
- Hash类型用于存储结构化数据.
- Hash可以看做是Map中的Map

2.2 Hash 指令
命令 |
示例 |
说明 |
hget |
hget user:1:info age |
获取hash中key=age的值 |
hset |
hset user:1:info age 23 |
设置hash中age=23 |
hmset |
hmset user:2:info age 30 name kaka |
设置hash中age=30,name=kaka |
hmget |
hmget user:2:info age name |
获取hash中age & name |
hgetall |
hgetall user:2:info |
获取hash所有值 |
hdel |
hdel user:1:info age |
删除user:1的age |
3、List
- List列表是简单的字符串列表,按照插入顺序排序。你 可以添加一个元素到列表的头部(左边)或者尾部 (右边)
- 一个列表最多可以包含 2的32次方 - 1 个元素 (4294967295, 每个列表超过40亿个元素)。
3.1 list指令
- rpush listkey c b a - 右侧插入
- lpush listkey f e d - 左侧插入
- rpop listkey - 右侧弹出
- lpop listkey - 左侧弹出
- llen listkey - 获取长度
- lrange listkey 0 2
- lrange listkey 1 -1 获取子集
4、Set
- Redis 的 Set 是 String 类型的无序集合。集合成员是 唯一的,这就意味着集合中不能出现重复的数据。
- Redis 中集合是通过哈希表实现的,所以添加,删除, 查找的速度极快。
- 集合中最大的成员数为 2的32次方 - 1 (4294967295, 每个集合可存储40多亿个成员)。
4.1 Set指令
命令 |
示例 |
说明 |
sadd |
sadd user:1:follow it |
添加user:1:follow属性it |
srem |
screm user:1:follow it |
移除user:1:follow属性it |
scard |
scard user:1:follow |
计算集合数量 |
srandmember |
srandmember user:1:follow 3 |
随机挑选3个元素 |
spop |
spop user:1:follow |
随机弹出元素 |
|
|
|
5、Zset
- Redis 的 Zset 是 String 类型的有序集合。集合成员是 唯一的,这就意味着集合中不能出现重复的数据

5.1 Zset指令
命令 |
示例 |
说明 |
zadd |
zadd player:rank 1000 ronaldo 900 messi |
添加集合中的元素 |
zrank |
zrank player:rank ronaldo |
获取ronaldo的排名 |
zrem |
zrem player:rank messi |
删除messi的数据 |
zrange |
zrange player:rank 0 -1 |
获得排序索引数据(0 -1是全部数据) |
zcount |
zcount player:rank 700 900 |
获得排序数据(score在700-900之间) |
zrangebyscore |
zrangebyscore player:rank 700 900 |
获得700-900的排序元素 |
本文作者:fengzeng
本文链接:https://www.cnblogs.com/Fzeng/p/14395502.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步