linux版下载地址
http://download.redis.io/releases/
windows版下载地址
https://github.com/MicrosoftArchive/redis/releases
一、安装
上传redis-3.2.6.tar.gz到/opt下
[root@dev opt]# tar -xvf redis-3.2.6.tar.gz
[root@dev opt]# cd redis-3.2.6
#[root@dev redis-3.2.6]# make test
#All tests passed without errors!
[root@dev redis-3.2.6]# make
指定安装目录PREFIX
[root@dev redis-3.2.6]# make PREFIX=/opt/redis install
[root@dev redis-3.2.6]# cd /opt/redis/bin
[root@dev bin]# ll
总用量 26336
-rwxr-xr-x. 1 root root 5578215 12月 28 15:31 redis-benchmark
-rwxr-xr-x. 1 root root 22169 12月 28 15:31 redis-check-aof
-rwxr-xr-x. 1 root root 7823872 12月 28 15:31 redis-check-rdb
-rwxr-xr-x. 1 root root 5706916 12月 28 15:31 redis-cli
lrwxrwxrwx. 1 root root 12 12月 28 15:31 redis-sentinel -> redis-server
-rwxr-xr-x. 1 root root 7823872 12月 28 15:31 redis-server
[root@dev ~]# cd /opt/redis
[root@dev redis]# ll
总用量 4
drwxr-xr-x. 2 root root 4096 12月 28 15:31 bin
二、配置
创建目录(非必须)
[root@dev redis]# mkdir conf(配置文件目录)
[root@dev redis]# mkdir db(数据库文件目录)
[root@dev redis]# mkdir logs(日志文件目录)
拷贝配置文件
[root@dev redis]# cp /opt/redis-3.2.6/redis.conf /opt/redis/conf
编辑配置文件
[root@dev redis]# vi /opt/redis/conf/redis.conf
#关闭保护模式
#protected-mode yes
protected-mode no
守护进程,在后台运行
#daemonize no
daemonize yes
设置pid文件路径
#pidfile /var/run/redis_6379.pid
pidfile /opt/redis/redis_6379.pid
#设置数据库文件路径
dbfilename dump.rdb
#dir ./
dir /opt/redis/db
#设置日志文件路径
#logfile ""
logfile /opt/redis/logs/redis.log
#设置连接密码
# requirepass foobared
requirepass redis326
#设置主密码(主从切换后才会用到)
# masterauth
masterauth redis326
设置最大内存
# maxmemory
maxmemory 2gb
三、应用
启动redis服务
[root@dev redis]# /opt/redis/bin/redis-server /opt/redis/conf/redis.conf
打开redis客户端,测试
[root@dev redis]# /opt/redis/bin/redis-cli -h 127.0.0.1 -p 6379 -a redis326
127.0.0.1:6379> set foo bar
OK
127.0.0.1:6379> get foo
"bar"
127.0.0.1:6379> quit (退出)
停止redis服务
[root@dev redis]# /opt/redis/bin/redis-cli -h 127.0.0.1 -p 6379 -a redis326 shutdown
杀进程
[root@dev redis]# ps -ef|grep redis
root 44525 1 0 19:47 ? 00:00:00 ./redis-server 127.0.0.1:6379
root 44553 42778 0 19:47 pts/3 00:00:00 grep redis
[root@dev bin]# kill -9 44525
查看日志
[root@dev redis]tail -f /opt/redis/logs/redis.log
性能测试
[root@dev bin]# /opt/redis/bin/redis-benchmark -n 1000
在线文档
http://www.redis.net.cn/tutorial/3501.html
Redis的Java客户端Jedis的八种调用方式(事务、管道、分布式…)介绍
http://blog.csdn.net/truong/article/details/46711045
关于最大内存
RDB原理
在执行fork的时候操作系统(类Unix操作系统)会使用写时复制(copy-on-write)策略,即fork函数发生的一刻父子进程共享同一内存数据,当父进程要更改其中某片数据时(如执行一个写命令 ),操作系统会将该片数据复制一份以保证子进程的数据不受影响,所以新的RDB文件存储的是执行fork那一刻的内存数据。
多留一倍内存是最安全的。重写AOF文件和RDB文件的进程(即使不做持久化,复制到Slave的时候也要写RDB)会fork出一条新进程来,采用了操作系统的Copy-On-Write策略(如果父进程的内存没被修改,子进程与父进程共享Page。如果父进程的Page被修改, 会复制一份改动前的内容给新进程),留意Console打出来的报告,如"RDB: 1215 MB of memory used by copy-on-write"。在系统极度繁忙时,如果父进程的所有Page在子进程写RDB过程中都被修改过了,就需要两倍内存。
9482:M 19 Jan 15:45:41.038 * 10000 changes in 60 seconds. Saving...
9482:M 19 Jan 15:45:41.095 * Background saving started by pid 13017
13017:C 19 Jan 15:46:04.138 * DB saved on disk
13017:C 19 Jan 15:46:04.159 * RDB: 16 MB of memory used by copy-on-write
9482:M 19 Jan 15:46:04.231 * Background saving terminated with success
个人建议最大内存,设置成系统内存的1/2