1、先到Redis官网(redis.io)下载redis安装包
或者直接使用命令下载:wget http://download.redis.io/redis-stable.tar.gz
2、将其下载到我的/opt目录下
3、解压并进入其目录
cd /opt
tar -zxvf redis-5.0.4.tar.gz
cd redis-5.0.4
4、编译源程序
make
cd src
make install PREFIX=/usr/local/redis
注:若make编译失败,则查看linux系统缺少的组件,先安装对应组件后,然后删除redis-5.0.4目录,再重新从第3步开始执行。
5、将配置文件移动到redis目录
mv redis.conf /usr/local/redis/
6、启动redis服务与停止
(如果指定端口则在执行时加-p 6379,如果指定密码,则加-a 123456.如./redis-cli -p 6379 -a 123456 shutdown)
cd /usr/local/redis/bin
启动redis服务命令:./redis-server /usr/local/redis/redis.conf
默认情况,Redis不是在后台运行,我们需要把redis放在后台运行
此时可以直接ctrl+c命令终结进程,但是如果设置了后台守护线程后,就需要执行命令来停止了。
停止redis服务命令:./redis-cli shutdown
7、redis可运行最基础设置修改
1)daemonize的值改为yes
2)requirepass的值改为(自己的密码)
3)protected-mode的值改为no
4)bind 127.0.0.1注释
5)maxmemory (具体大小,如5G)
6)maxmemory-policy volatile-lru
linux命令行修改redis.conf文件命令:
如果进行vim操作,主要是这几个命令: vim /usr/local/redis/redis.conf i:进入编辑模式。 esc:退出编辑模式,进入浏览模式(进入vim编辑器,默认就是浏览模式)。 :wq:保存修改并退出vim编辑器。重新执行启动命令:./redis-server /usr/local/redis/redis.conf
8、客户端连接命令
./redis-cli [-p port] [-a password]
9、设置redis开机自启
/etc/rc.local文件加入/usr/local/redis/bin/redis-server /usr/local/redis/redis-conf
10,工具介绍:
redis-benchmark:redis性能测试工具
redis-check-aof:检查aof日志的工具
redis-check-rdb:检查rdb日志的工具
redis-cli:连接用的客户端
redis-server:redis服务进程
如:
性能检测命令:redis-benchmark -h 127.0.0.1 -p 6379 -c 1000 -n 100000 #1000个并发连接,100000个请求,测试127.0.0.1端口为6379的redis服务器性能
aof修复命令:redis-check-aof --fix appendonlly.aof
rdb修复命令:redis-check-rdb--fix dump.rdb
11、config配置
a)重要配置:
daemonize yes #指定Redis以守护进程的方式运行。
requirepass 123456 #设置Redis连接密码为123456。默认关闭(即注释此配置)。
port 6379 #指定监听端口,默认端口为6379。
bind 127.0.0.1 #绑定的主机IP地址为本地。可以指定为具体局域网IP或者关闭此设置。
maxmemory 5GB #设定redis最大使用内存为5G,值要小于物理内存,必须设置
maxmemory-policy noeviction 达到最大内存时的淘汰策略:
内存淘汰策略: volatile-lru -> 使用 LRU 算法移除包含过期设置的 key 。 allkeys-lru -> 根据 LRU 算法移除所有的 key 。 volatile-random -> 随机移除一个包含过期设置的key。 allkeys-random -> 随机移除任意一个key。 volatile-ttl -> 移除最接近国其时间的key (minor TTL)。 noeviction -> 不让任何 key 过期,只是给写入操作返回一个错误。b)基本配置
loglevel notice #设置日志级别,支持四个级别:debug、notice、verbose、warning。生产环境下一般开启notice
logfile "/usr/local/redis/log/redis.log" #配置log文件地址,默认使用标准输出,即打印在命令行终端的端口上 .可以指定日志文件路径
pidfile /var/run/redis_6379.pid #当Redis以守护进程方式运行时,把pid写入指定的文件。
timeout 300 #客户端超时设置,单位为秒
databases 16 #设置数据库的数量。默认是使用第0个数据库。如果需要使用其他数据库,则使用select <dbid> 命令进行切换。
maxclients 10000 #设置最大客户端连接数,0和默认为无限制。达到此数目后,会关闭新连接并返回错误。
c)备份配置
1)快照类型rdb
Save #redis持久化的频率,可以全部注释表示不写入,也可以设置。Redis默认配置文件中提供了三个条件:
save 900 1
save 300 10
save 60 10000 #分别表示900秒(15分钟)内有1个更改,300秒(5分钟)内有10个更改以及60秒内有10000个更改的时候,同步数据到磁盘文件,即生成快照rdb文件。
rdbcompression yes #指定存储至本地数据库时是否压缩数据,默认为yes。
dbfilename dump.rdb #指定本地数据库文件名。
dir /usr/local/redis/data/ #指定本地数据库存放目录。
2)实时记录写操作aof
appendonly yes #开启日志记录,相当于MySQL的binlog,注,redis启动时会自动加载aof文件,生成缓存。
appendfilename "appendonly.aof" #日志文件名,注意:不是目录路径
appendfsync everysec #每秒执行同步,还有两个参数always、no一般设置为everysec,相当于MySQL事物日志的写方式。若为no则表示不自动写入。若为always表示每次写命令时进行同步。若为everysec表示每秒执行同步。
d)主从同步设置
replicaof <masterip> <masterport> #设置该数据库为其他数据库的从数据库
masterauth <master-password> #当主数据库连接需要密码验证时,在这里设定
replica-serve-stale-data yes #如果此库作为从库,与主库断开连接或者正在执行复制,这时客户端来请求时,yes为继续服务,使用当前旧数据,no为拒绝服务,并返回错误。
replica-read-only yes #作为从库时只读
replica-priority 100 #当部署了集群,master不能工作时,会自动从从库选出一个作为master,越小优先级越高,为0排除在选中之外。
repl-diskless-sync no #
repl-diskless-sync-delay 5
repl-disable-tcp-nodelay no