目录
一、什么是Redis
二、关于Redis的一些基本知识
(1)set命令
(2)get命令
三、Redis中的一些常用命令
(1)keys
(2)exists
(3)type
(4)del
(5)expire
(6)ttl
(7)persist
一、什么是Redis
Redis是一个使用ANSI C编写的开源、包含多种数据结构、支持网络、基于内存、可选持久性的键值对存储数据库。
对!他也是数据库,与MySQL一样是数据库,但一定要主要他们还是有很大的不同点的。
特性:
- 基于内存运行,性能高效
- 支持分布式,理论上可以无限扩展
- key-value存储系统
- 开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API
二、关于Redis的一些基本知识
Redis是一个字典结构的存储服务器,一个Redis实例提供了多个用来存储数据的字典,客户端可以指定将数据存储在哪个字典中。
这与在一个关系数据库实例中可以创建多个数据库类似(如下图所示),所以可以将其中的每个字典都理解成一个独立的数据库。
Redis默认支持16个数据库,可以通过调整Redis的配置文件redis/redis.conf中的databases来修改这一个值,设置完毕后重启Redis便完成配置。
(1)set命令
set命令是像数据库中增添数据的,格式如下:
set 键 值
(2)get命令
从数据库中通过键来获取值的,格式如下:
get 键
三、Redis中的一些常用命令
(1)keys
语法结构:
keys * 查看当前库中的所有key
有三个通配符:
*:通配任意多个字符
?:通配单个字符
[]:通配括号内的某一个字符注意:生产以及禁止,因为长时间阻塞redis而导致其他客户端的命令请求一直处于阻塞状态。更安全的做法是采用scan
如下:
(2)exists
判断某个key是否存在,返回1表示存在,0不存在。
语法结构:
exists key
示例:
#查看k1是否存在,如果存在返回1
exists k1
#查看k1 k2 k3是否存在,如果k1 k2存在,k3不存在,则返回2
exists k1 k2 k3
注意:
可以设置多个key,只返回存在的个数,但不返回哪一个存在/不存在。
(3)type
查看当前key 所储存的值的类型。返回当前key所储存的值的类型,如string 、list等。
语法结构:
type key
示例:
type k1
(4)del
删除已存在的key,不存在的 key 会被忽略。
语法结构:
del key
示例:
可以设置多个key,返回删除成功的个数。
# 删除k1,如果成功返回1,失败返回0
del k1
# 删除k1 k2 k3,如果k1 k2存在,k3不存在,则返回2
del k1 k2 k3
(5)expire
给key设置time秒的过期时间。设置成功返回 1 。 当 key 不存在返回 0。
语法结构:
expire key time
示例:
# 给k1设置10秒后过期
expire k1 10
(6)ttl
以秒为单位返回 key 的剩余过期时间。
语法结构:
ttl key
示例:
ttl k1
注意:
当 key 不存在时,返回 -2 。 当 key 存在但没有设置剩余生存时间时,返回 -1 。 否则,以秒为单位,返回 key 的剩余生存时间。
(7)persist
移除给定 key 的过期时间,使得 key 永不过期。
语法结构:
persist key
示例:
persist k1
注意:
当过期时间移除成功时,返回 1 。 如果 key 不存在或 key 没有设置过期时间,返回 0 。