redis的下载
官网下载:https://redis.io/download
Windows:https://github.com/tporadowski/redis/releases
Linux:http://download.redis.io/releases/
在linux上安装redis时,需要进行make,所以在linux上安装redis需要有gcc。
一般都会将redis目录放置到 /usr/local/redis目录
安装redis时,都是服务的和客户端一起的
redis的配置文件是:redis.conf
redis的默认端口:6379
redis默认无密码,需要设置密码需要进行手动设置
配置文件的重要参数
配置项名称 | 配置项值范围 | 说明 |
---|---|---|
daemonize | yes、no | yes表示启用守护进程,默认是no即不以守护进程方式运行。其中Windows系统下不支持启用守护进程方式运行 |
port | 指定 Redis 监听端口,默认端口为 6379 | |
bind | 绑定的主机地址,如果需要设置远程访问则直接将这个属性备注下或者改为bind * 即可,这个属性和下面的protected-mode控制了是否可以远程访问 。 | |
protected-mode | yes 、no | 保护模式,该模式控制外部网是否可以连接redis服务,默认是yes,所以默认我们外网是无法访问的,如需外网连接rendis服务则需要将此属性改为no。 |
timeout | 300 | 当客户端闲置多长时间后关闭连接,如果指定为 0,表示关闭该功能 |
loglevel | debug、verbose、notice、warning | 日志级别,默认为 notice |
databases | 16 | 设置数据库的数量,默认的数据库是0。整个通过客户端工具可以看得到 |
rdbcompression | yes、no | 指定存储至本地数据库时是否压缩数据,默认为 yes,Redis 采用 LZF 压缩,如果为了节省 CPU 时间,可以关闭该选项,但会导致数据库文件变的巨大。 |
dbfilename | dump.rdb | 指定本地数据库文件名,默认值为 dump.rdb |
dir | 指定本地数据库存放目录 | |
requirepass | 设置 Redis 连接密码,如果配置了连接密码,客户端在连接 Redis 时需要通过 AUTH 命令提供密码,默认关闭 | |
maxclients | 0 | 设置同一时间最大客户端连接数,默认无限制,Redis 可以同时打开的客户端连接数为 Redis 进程可以打开的最大文件描述符数,如果设置 maxclients 0,表示不作限制。当客户端连接数到达限制时,Redis 会关闭新的连接并向客户端返回 max number of clients reached 错误信息。 |
maxmemory | XXX | 指定 Redis 最大内存限制,Redis 在启动时会把数据加载到内存中,达到最大内存后,Redis 会先尝试清除已到期或即将到期的 Key,当此方法处理 后,仍然到达最大内存设置,将无法再进行写入操作,但仍然可以进行读取操作。Redis 新的 vm 机制,会把 Key 存放内存,Value 会存放在 swap 区。配置项值范围列里XXX为数值。 |
redis的启动与关闭
./redis-server redis.conf
./redis-cli shutdown
设置密码后的登录
$ ./redis-cli -h 127.0.0.1 -p 6379 -a myPassword
redis的使用
配置
CONFIG 命令查看或设置配置项。
CONFIG get * 所有的
CONFIG get XXX
CONFIG set XXX YYY (设置XXX = YYY)
库
redis默认由16个库(0~15号). 且默认使用的是0号库
查看有多少个库
127.0.0.1:6379> config get databases
1) "databases"
2) "16"
redis> SET db_number 0 # 默认使用 0 号数据库
OK
redis> SELECT 1 # 使用 1 号数据库
OK
redis[1]> GET db_number # 已经切换到 1 号数据库,注意 Redis 现在的命令提示符多了个 [1]
(nil)
redis[1]> SET db_number 1
OK
redis[1]> GET db_number
“1”
redis[1]> SELECT 3 # 再切换到 3 号数据库
OK
redis[3]> # 提示符从 [1] 改变成了 [3]
这里 >[1] [3] 中括号中的数字就是第几号库,不需要命令查询
key
#查看所有key keys * 或 keys “" #查看匹配前缀的keys keys "miao” #清空redis flushdb
#随机取出一个key
randomkey
#查看key的类型
type key
#查看数据库中key的数量
dbsize
#查看服务器信息
info
#查看redis正在做什么
monitor #注意,有高手的文章说这个会急剧降低redis性能,只能在测试环境使用。
#查看日志
slowlog get
slowlog get 10