转载请注明出处哈:http://carlosfu.iteye.com/blog/2240426
一、Redis单机下载、编译、安装:
cd /opt/soft wget http://download.redis.io/releases/redis-3.0.4.tar.gz tar xzf redis-3.0.4.tar.gz ln -s /opt/soft/redis-3.0.4 /opt/soft/redis cd redis make make install
三点注意一下:
1. make install可以将redis的一些命令放到/usr/local/bin, 之后就不需要全路径执行redis命令了,例如可以在任意目录执行redis-cli。
2. 通常为了升级方便,我们建立一个软连接,以后所有操作都针对这个软连接。
3. 通常redis我们选择最新的release版本。
2. 通常为了升级方便,我们建立一个软连接,以后所有操作都针对这个软连接。
3. 通常redis我们选择最新的release版本。
二、Redis单机-启动服务器、客户端连接、关闭服务器:
1. 启动服务器
redis-server
默认使用redis目录下的redis.conf作为配置文件,默认端口是6379, daemonize为no(非守护进程),所以启动时候会看到如下日志:
15193:C 16 Sep 10:12:00.558 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf _._ _.-``__ ''-._ _.-`` `. `_. ''-._ Redis 3.0.4 (00000000/0) 64 bit .-`` .-```. ```\/ _.,_ ''-._ ( ' , .-` | `, ) Running in standalone mode |`-._`-...-` __...-.``-._|'` _.-'| Port: 6379 | `-._ `._ / _.-' | PID: 15193 `-._ `-._ `-./ _.-' _.-' |`-._`-._ `-.__.-' _.-'_.-'| | `-._`-._ _.-'_.-' | http://redis.io `-._ `-._`-.__.-'_.-' _.-' |`-._`-._ `-.__.-' _.-'_.-'| | `-._`-._ _.-'_.-' | `-._ `-._`-.__.-'_.-' _.-' `-._ `-.__.-' _.-' `-._ _.-' `-.__.-' 15193:M 16 Sep 10:12:00.563 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128. 15193:M 16 Sep 10:12:00.564 # Server started, Redis version 3.0.4 15193:M 16 Sep 10:12:00.564 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect. 15193:M 16 Sep 10:12:00.564 * DB loaded from disk: 0.000 seconds 15193:M 16 Sep 10:12:00.564 * The server is now ready to accept connections on port 6379
2. 客户端连接:
$ redis-cli redis> set company xxx OK redis> get company "xxx"
注意:
redis-cli通常的连接方法是redis-cli -h 10.10.10.11 -p 6380
如果直接执行redis-cli,默认执行的是redis-cli -h 127.0.0.1 -p 6379
如果直接执行redis-cli,默认执行的是redis-cli -h 127.0.0.1 -p 6379
3. 关闭服务器:(不要用kill -9)
$ redis-cli redis> shutdown
注意:
我们一般使用shutdown/kill命令优雅的关闭redis.
紧急情况使用kill -9
紧急情况使用kill -9
三、Redis使用配置文件启动(redis配置很多,这里只说明一些常用的)
1. Redis配置
(1). 总体配置
配置名 | 含义 | 默认值 | 可选值 | 是否可以动态修改(config set) |
daemonize | 是否守护进程 | no | yes|no | 不可以 |
port | 端口号 | 6379 | 其他可用端口 | 不可以 |
timeout | 客户端闲置多少秒后关闭连接 | 默认为0,永不关闭 | 可以 | |
tcp-keepalive | 检测客户端是否健康周期(秒) | 默认为0, 不检测 | 可以 | |
loglevel | redis日志级别 | notice | debug|verbose|notice|warning | 可以 |
logfile | 日志文件名 | 空 | 不可以 | |
databases | 可用的数据库数 | 16 | 0-15 | 不可以 |
(2). 最大内存以及策略:
配置名 | 含义 | 默认值 | 可选值 | 是否可以动态修改(config set) |
maxmemory | 室内最大可用内存 | 不使用该配置,也就对内存使用无限制 | 建议规定最大只存 | 可以 |
maxmemory-policy | 内存不够时,淘汰策略 | volatile-lru | 见下面 | 可以 |
其他maxmemory-policy:
- volatile-lru -> 用lru算法删除过期的键值
- allkeys-lru -> 用lru算法删除所有键值
- volatile-random -> 随机删除过期的键值
- allkeys-random -> 随机删除任何键值
- volatile-ttl -> 删除最近要到期的键值
- noeviction -> 不删除键,只返回一个错误
(3). AOF相关
配置名 | 含义 | 默认值 | 可选值 | 是否可以动态修改(config set) |
appendonly | 是否开启aof持久化模式 | no | 可以 | |
appendfsync | aof同步磁盘频率 | everysec | always|everysec|no | 可以 |
appendfilename | aof文件名 | appendonly.aof | 不可以 | |
no-appendfsync-on-rewrite | 设置为yes表示rewrite期间对新写操作不fsync,暂时存在内存中,等rewrite完成后再写入 |
no | no|yes | 可以 |
auto-aof-rewrite-min-size | 触发rewrite的aof文件最小阀值 | 64m | 可以 | |
auto-aof-rewrite-percentage | Redis重写aof文件的比例条件 | 100 | 可以 |
(4). RDB
配置名 | 含义 |
默认值 | 可选值 | 是否可以动态修改(config set) |
save | rdb保存条件 |
save 900 1 save 300 10 save 60 10000 |
如果没有该配置,代表不适用rdb | 可以 |
dbfilename | rdb文件名 | dump.rdb | dump-${port}.rdb | 可以 |
rdbcompression | rdb文件是否压缩 | yes | yes|no | 可以 |
rdbchecksum | rdb文件是否使用校验和 | yes | yes|no | 可以 |
dir | redis工作目录 | 当前目录 | 指定目录 | 可以 |
(5). 慢查询配置
配置名 | 含义 | 默认值 | 可选值 | 是否可以动态修改(config set) |
slowlog-log-slower-than | 慢查询被记录的阀值(单位微秒) | 10000 | 可以 | |
slowlog-max-len | 最多记录慢查询的条数 | 128 | 可以 |
(6). 数据结构优化配置:
配置名 | 含义 | 默认值 | 可选值 | 是否可以动态修改(config set) |
hash-max-ziplist-entries | hash数据结构优化参数 | 512 | 可以 | |
hash-max-ziplist-value | hash数据结构优化参数 | 64 | 可以 | |
list-max-ziplist-entries | list数据结构优化参数 | 512 | 可以 | |
list-max-ziplist-value | list数据结构优化参数 | 64 | 可以 | |
set-max-intset-entries | set数据结构优化参数 | 512 | 可以 | |
zset-max-ziplist-entries | zset数据结构优化参数 | 128 | 可以 | |
zset-max-ziplist-value | zset数据结构优化参数 | 64 | 可以 |
2. 使用配置启动redis单机:
redis> redis-server redisConfigFilePath
注意:
我们一般在redis目录下,建立conf目录,将redis目录下的redis.conf拷贝进去,进行修改作为新的配置文件。
四、视频: