文章目录
- 一、Redis数据库常用命令
- 1、set/get
- 2、keys
- 3、exists
- 4、del
- 5、type
- 6、rename
- 6.1 重命名
- 6.2 覆盖
- 7、renamenx
- 8、dbsize
- 9、密码设置
- 10、密码验证
- 11、查看密码
- 12、取消密码
- 13、Redis多数据库常用命令
- 13.1 多数据库间切换
- 13.2 多数据库间移动数据
- 13.3 清除数据库数据
- 二、Redis数据类型
- 1、String数据类型
- 2、List 数据类型
- 3、Hash数据类型 (散列类型)
- 4、set数据类型(无序集合)
- 5、Sorted Set数据类型 (zset、有序集合)
一、Redis数据库常用命令
1、set/get
- set:存放数据,命令格式为set key value
- get:获取数据,命令格式为get key
redis-cli
#登录本地redis
set name liu
#存放数据
get name
#获取数据
2、keys
- keys命令可以取符合规则的键值列表,通常情况可以结合*、?等选项来使用
keys *
#查询Redis数据库中所有键的列表
set k1 1
set k2 2
set k3 3
set v1 1
set v2 3
set v3 5
set v11 7
#创建键
keys *
#查询Redis数据库中所有键的列表
keys v*
#查询当前数据库中以v开头的数据
keys *1
#查询当前数据库中以1结尾的数据
keys ??1
#查询数据库中以1结尾并且1前面包含任意两位的数据
3、exists
- exists命令可以判断键值是否存在
exists name
#判断name键是否存在,存在会返回1
exists qq
#判断qq键是否存在,存在会返回0
4、del
- del命令可以删除当前数据库的指定key
del name
#删除name键
exists name
#此时查询name键是否存在,返回0
5、type
- type命令可以获取key对应的value值类型
type k1
#查询k1存储的值是的类型
6、rename
- rename命令是对已有key进行重命名(覆盖)
命令格式
rename 源key 目标key
- 使用rename命令进行重命名时,无论目标key是否存在都进行重命名,且源key的值会覆盖目标key的值。在实际使用过程中,建议先用exists命令查看目标key是否存在,然后再决定是否执行rename命令,以避免覆盖重要数据。
6.1 重命名
keys v*
#查询当前数据库中以v开头的数据
rename v11 v4
#将v11改名为v4
keys v*
#查询当前数据库中以v开头的数据
6.2 覆盖
get v1
#获取v1键的值
get v2
#获取v2键的值
rename v1 v2
#覆盖v2原来的值,变成v1值
keys v*
#查询当前数据库中以v开头的数据
get v2
#获取v2键的值,v2原来的值被v1值所覆盖
get v1
#获取v1键的值
7、renamenx
- renamenx命令的作用是对已有key进行重命名,并检测新名是否存在,如果目标key存在则不进行重命名(不覆盖)
命令格式
renamenx 源key 目标key
keys v*
#查询当前数据库中以v开头的数据
renamenx v4 v1
#将v4重命名为v1,因为v1不存在,所以重命名成功
keys v*
#查询当前数据库中以v开头的数据
renamenx v3 v1
#将v3重命名为v1,因为v1已经存在,所以重命不会成功
keys v*
#查询当前数据库中以v开头的数据
8、dbsize
- dbsize命令的作用是查看当前数据库中key的数目
keys *
#查询Redis数据库中所有键的列表
dbsize
#查看当前数据库中key的数目
9、密码设置
- 使用"config set requirepass password"命令设置密码
config set requirepass 123456
#设置密码
10、密码验证
- 使用auth命令验证密码,一旦设置密码,每次登陆后必须先验证通过密码,否则所有操作不可用
auth 123456
#验证密码后,再对redis数据库进行操作
- 也可在登录时使用-a选项,输入密码
redis-cli -a 123456
#在登录时,直接使用-a选项输入密码
11、查看密码
config get requirepass
#查询redis数据库密码
12、取消密码
- 使用"config set requirepass ‘’"命令通过重定义空密码的方式,清空密码并取消密码验证
config set requirepass ''
#设置密码为空
config get requirepass
#查看密码
redis-cli
#登录redis
keys *
#查看redis数据库中所有键的列表,不需要密码,可以操作
13、Redis多数据库常用命令
- Redis支持多数据库,Redis默认情况下包含16个数据库,数据库名称是用数字0-15来依次命名的。
- 多数据库相互独立,互不干扰。
13.1 多数据库间切换
命令格式
select 序号
- 使用redis-cli连接Redis数据库后,默认使用的是序号为0的数据库
select 8
select 12
#多数据库间切换
Redis默认支持16个数据库,索引从0-15
13.2 多数据库间移动数据
命令格式
move 键值 序号
move name 7
#将当前数据库的name键移动到数据库7中,要确认数据库7中没有那个键
13.3 清除数据库数据
- flushdb:清空当前数据库数据
- flushall:清空所有数据库的数据(谨慎使用)
flushdb
#清空当前数据库信息
flushall
#清空所有数据库信息(谨慎操作)
二、Redis数据类型
1、String数据类型
- String是 redis 最基本的类型,最大能存储 512MB 的数据,String类型是二进制安全的,即可以存储任何数据、比如数字、图片、序列化对象等
2、List 数据类型
- 列表的元素类型为string,按照插入顺序排序,在列表的头部或尾部添加元素
3、Hash数据类型 (散列类型)
- hash用于存储对象。可以采用这样的命名方式(hash格式):对象类别和ID构成键名,使用字段表示对象的属性,而字段值则存储属性值。
4、set数据类型(无序集合)
- 无序集合,元素类型为string类型,元素具有唯一性, 不允许存在重复的成员。多个集合类型之间可以进行并集、交集和差集运算
5、Sorted Set数据类型 (zset、有序集合)
- 有序集合,元素类型为Sting,元素具有唯一性, 不能重复。
- 每个元素都会关联–个double类型的分数score(表示权重),可以通过权重的大小排序,元素的score可以相同。