前言
Redis是一个使用ANSI C编写的开源、支持网络、基于内存、可选持久性的键值对存储数据库。从2015年6月开始,Redis的开发由Redis Labs赞助,而2013年5月至2015年6月期间,其开发由Pivotal赞助。在2013年5月之前,其开发由VMware赞助。根据月度排行网站DB-Engines.com的数据,Redis是最流行的键值对存储数据库。(维基百科)
数据类型及相关命令
- Redis存储的是key-value格式的数据,其中key是字符串,value有五种不同的数据类型
字符串类型String
<key>
:键
<value>
:值
新增/修改
- 如果不存在就新增,如果存在就修改
- Redis最大可以存512M的字符串
新增时设置存活时间
<second>
:存活时间,单位秒
1
| setex <key> <second> <value>
|
批量新增
1
| mset <key_1> <value_1> <key_2> <value_2>
|
查询
批量查询
1
| mget <key_1> <value_1> <key_2> <value_2>
|
根据条件查询字符串
*
:任意个数任意字符占位符
?
:一个任意字符占位符
查询全部字符串
查询字符串长度
查询字符串是否存在
删除
清空数据库
清空当前数据库
清空所有数据库
追加字符串
自增与自减
自增1
自增指定数值
<n>
:自增的数值
自减1
自减指定数值
哈希类型hash
<k>
:值中存储的键值对的键
<v>
:值中存储的键值对的值
新增键值对
新增多个键值对
1
| hmset <key> <k> <v> <k> <v>
|
仅当不存在时新增键值对
查询
查询所有的键值对
查询所有值
查询所有键
根据键查询值
根据多个键查询值
查询键值对是否存在
1
:存在
0
:不存在
查询所有键值对的数量
获取指定键的值的字符串长度
删除
根据指定键删除键值对
列表类型list
- linkedlist格式
- 可以存储列表
- 允许重复元素
- 有序
新增
从列表头新增(从左到右)
仅当列表存在时
从列表尾新增(从右到左)
仅当列表存在时
查询
获取指定范围的元素
<start>
:指定获取的列表范围的起始值,如果为正数则从左侧开始计算下标,如果为负数则从右侧开始计算下标
<end>
:指定获取的列表范围的截止值,如果为正数则从左侧开始计算下标,如果为负数则从右侧开始计算下标
1
| lrange <key> <start> <end>
|
获取所有
查询列表长度
删除
删除出现指定次数的指定元素
<value>
:元素名
<count>
:出现指定次数
>0
:从头向尾删除
<0
:从尾向头删除
=0
:删除所有
1
| lrem <key> <count> <value>
|
删除整个列表
弹出
- 数据返回,并将数据删除
- 如果最后一个数据都被弹出,则这个列表也会被删除
从列表头弹出(从左到右)
从列表尾弹出(从右到左)
修改
从列表头修改(从左到右)
<index>
:指定下标
<value>
:修改后的值
1
| lset <key> <index> <value>
|
集合类型set
新增
查询
查询所有
查询指定值是否存在
删除
有序集合类型sortedset
<score>
:分数,将来会根据给定的分数排序
新增
1
| zadd <key> <score> <value>
|
查询
1
| zrange <key> <start> <end>
|
同时获取分数
1
| zrange <key> <start> <end> withscore
|
删除
通用命令
查看所有的键
查看指定键的数据类型
删除指定的键值对
切换数据库
0
:redis有0~15
共16个数据库
生命周期
指定时间自动销毁
<s>
:指定秒后自动销毁
<ms>
:指定毫秒后自动销毁
查看剩余存活时间
-2
:数据不存在
-1
:该数据永不超时
取消自动销毁
完成
参考文献
哔哩哔哩——黎曼的猜想
哔哩哔哩——尚硅谷