一、安装
2、Redis在Linux下的版本,需要先编译再安装,下载地址
二、配置以linux为例
1、是通过配置文件查看和修改
Linux中安装完成后,redis.conf是一个默认的配置文件。
查看和修改配置项的值
# vim redis.conf
2、是通过配置命令查看和修改
启动Redis的命令客户端工具,连接上Redis服务,可以使用以下命令来查看和修改Redis配置项
> CONFIG GET CONFIG_SETTING_NANE
> CONFIG SET CONFIG_SETTING_NANE NEW_CONFIG VALUE
- 前一个命令CONFIG GET是查看命令,后面加配置项的名称;
- 后一个命令CONFIG SET,是修改命令,后面加配置项的名称和要设置的新值。
3)注意:Redis的客户端命令是不区分字母大小写的;另外CONFIG GET查看命令可以使用通配符。
查看当前服务的端口
127.0.0.1:6379> config getport
三、配置详解
- port:端口配置项。默认:6379
- bind:主机地址配置项,在单网卡的机器上,一般不需要修改。默认地址:127.0.0.1
- timeout:客户端连接空闲多长时间后关闭连接。如果指定为0,表示时长不限制。默认:0
- dbfilename:指定保存缓存数据库的本地文件名,默认:dump.rdb。
- dir:指定保存缓存数据的本地文件所存放的目录,默认:安装目录。
- rdbcompression:指定存储至本地数据库时是否压缩数据,默认:yes Redis采用LZF压缩,如果为了节省CPU时间,可以关闭该选项,但会导致数据库文件变得巨大。
- save:指定在多长时间内,有多少次Key-Value更新操作,就将数据同步到本地数据库文件。
a:save配置项的格式为save:seconds表示时间段的长度,changes表示变化的次数
b:如果在seconds时间段内,变化了changes次,则将Redis缓存数据同步到文件。
900秒(15分钟)内有1个更改,300秒(5分钟)内有10个更改以及60秒内有10000个更改,三者满足一个条件,则同步到文件
127.0.0.1:6379> config set save "900 1 300 10 60 10000"
- requirepass:设置Redis连接密码
如果配置了连接密码,客户端在连接Redis时需要通过AUTH 命令提供密码,默认这个选项是关闭的。
- slaveof:在主从复制的模式下,设置当前节点为slave(从)节点时,设置master(主)节点的IP地址及端口。
设置slave 节点命令格式:slaveof<masterip><masterport>
q: 在Redis启动时,它会自动从master(主)节点进行数据同步。
b: 如果已经是slave(从)服务器,则会丢掉旧数据集,从新的master主服务器同步缓存数据。
- masterauth:主从复制的模式下,当master(主)服务器节点设置了密码保护时,slave(从)服务器连接master(主)服务器的密码。
master 服务器节点设置密码格式:masterauth<master-password>
- databases:设置缓存数据库的数量,默认:16个。
a: 16个数据库的id为0-15,默认使用第0个。
b: 可以使用SELECT 命令在连接时通过数据库id来指定要使用的数据库。
- 在Java编程中,配置连接Redis的uri连接字符串时,可以指定到具体的数据库
redis://用户名:密码@host:port/Redis库名
// 接到第2个Redis缓存库
redis://root:123456@127.0.0.1:6379/1
四、databases配置说明
1、databases配置选项,可以设置多个缓存数据库,不同的数据库存放不同应用的缓存数据。
类似于mysql数据库中,不同的应用程序数据存储在不同的数据库下。
2、在Redis中,数据库的名称由一个整数索引标识,而不是由一个字符串名称来标识。
- 默认情况下,一个客户端连接到数据库0。可以通过SELECT 命令来切换到不同的数据库。
- 例如,命令select 2,将Redis操作库切换到第3个数据库,随后所有的Redis客户端命令将使用数据库3。
3、Redis存储的形式是Key-Value(键-值对),其中Key(键)不能发生冲突。
每个数据库都有属于自己的空间,不必担心之间的Key相冲突。在不同的数据库中,相同的Key可以分别取到各自的值。
4、清除缓存数据
- 使用flushdb命令,只会清除当前数据库中的数据,而不会影响到其他数据库。
- flushall命令,则会清除这个Redis实例所有数据库(从0-15)的数据,因此在执行这个命令前要格外小心。