Redis细节以及key的操作指令
一、Redis细节
- redis启动服务的细节
注意:直接使用./redis-server
方式启动使用的是redis-server这个shell脚本的默认配置。(我们可以覆盖这个文件) - 如何在启动redis时指定配置文件启动
注意:默认在redis安装完成之后,在安装目录没有任何配置文件,需要在源码目录中复制redis.conf配置文件到安装目录. - redis会设置默认编码,不显示中文:
启动redis-cli时加入 --raw即可显示中文:./redis-cli -p 7000 --raw
二、指定配置文件启动
a. 进入源码目录
cp redis.conf /usr/redis
b. 进入/usr/redis安装目录查看复制的配置文件
cd /usr/redis
c. 进入bin目录加载配置启动
./redis-server ../redis.conf
- 修改redis默认端口为7000
vim redis.conf
port 7000
- 启动redis,bin目录下执行
./redis-server ../redis.conf
- 启动redis-cli连接redis-server
./redis-server
三、redis中库的概念
库:database用来存放数据一个基本单元,一个库可以存放key-value键值对,redis中每一个库都有一个唯一名称|编号,从0开始。
-
默认库的个数:16个库,库的编号:0-15,默认使用的是0号库。
-
可以进入redis.conf配置文件进行修改数据库数量
vim redis.conf
- 找到databases 将数字改为你需要的数据库个数
databases 18
- 重新启动redis服务
./redis-server ../redis.conf
- 启动redis-cli连接redis-server
./redis-cli
- 可以使用select命令切换数据库
select 17
从上图可以看出,切换17数据库成功,但是切换18数据库时失败,因为:数据库名=数据库索引-1
redis库常用命令
- 存数据
set key
- 获取数据
get key
- 查看所有key
keys *
- 删除key(返回被删除key的个数)
del key的名称
- 确认key是存在(存在返回值为1,否则为0)
exists key的名称
- 清除库命令
flushdb
- 清除所有库
flushall
- 设置key有效期(成功返回1)
expire key名称 秒数
pexpire key名称 毫秒数
pexpire
- 查看有效期时间
ttl key //返回秒数,当不存在时返回-2,当key没有设置有效期返回-1
pttl key//返回毫秒数,当key不存在时返回-2,当key没有设置有效期返回-1
//ps redis2.8之前key不存在或者key没有设置有效期都返回-1
- 对key进行格式匹配
keys h*llo//匹配0个或多个字符
keys h?llo //匹配1个字符
keys h[ae]ll //匹配hello和hallo,但不匹配hllo,特殊字符用“\”隔开
- 将当前key移动到指定库(成功返回1,失败返回0)
move key的名称 数据库名称
- 修改key的名称(成功返回ok,失败返回错误)
rename key名称 要修改的名称
- 从数据库随机返回一个key(不是删除)
randomkey
- 返回key所储存的值类型
type key名称
返回值:
none(key不存在)、string(字符串)、list(列表)、set(集合)、zset(有序集)、hash(哈希表)