学习redis 服务器/客户端安装与配置

发布时间:2020-04-10编辑:脚本学堂
本文分享下,redis服务器与客户端的安装与配置教程,有需要的朋友作个参考吧。

本节学习,安装与配置redis服务器与客户端的方法,大家参考下。

1 redis server
1.1 获取redis源码包
//官网 http://redis.io/
wget -c http://redis.googlecode.com/files/redis-2.4.15.tar.gz

1.2 解包
tar zxf redis-2.4.15.tar.gz
cd redis-2.4.15

1.3 安装
 

复制代码 代码示例:
make PREFIX=/usr/local/redis install
//安装完成后,会/usr/local/redis/bin/目录下生成5个可执行文件,
ls /usr/local/redis/bin/
redis-benchmark  redis-check-aof  redis-check-dump  redis-cli  redis-server
redis-server:Redis服务器的daemon启动程序
redis-cli:Redis命令行操作工具。
redis-benchmark:Redis性能测试工具,测试Redis在你的系统及你的配置下的读写性能
redis-check-dump: 检查file.rdb 文件
redis-check-aof:检查file.aof 文件

1.4 配置redis
 

复制代码 代码示例:
//建立conf与var目录
mkdir -p /usr/local/redis/conf
mkdir -p /usr/local/redis/var
//redis.conf
cat > /usr/local/redis/conf/redis.conf 《 EOF
#daemonize:是否以后台daemon方式运行
daemonize yes
#pidfile:pid文件位置
pidfile /var/run/redis.pid
#bind:监听的ip地址
bind 10.0.100.70
#port:监听的端口号
port 6379
#timeout:请求超时时间,单位秒
timeout 120
#loglevel:log信息级别,支持四个级别,debug,notice,verbose,warning
loglevel warning
#日志文件位置
logfile /usr/local/redis/var/redis.log
#databases:开启数据库的数量
databases 16
##snapshoot
#save * *:保存快照的频率,第一个*表示多长时间,第二个*表示执行多少次写操作。在一定时间内执行一定数量的写操作时,自动保存快照。可设置多个条件。
#在900秒之内,redis至少发生1次修改则redis抓快照到磁盘
save 900 1
#在300秒之内,redis至少发生100次修改则redis抓快照到磁盘
save 300 100
#在60秒之内,redis至少发生10000次修改则redis抓快照到磁盘
save 60 10000
#rdbcompression:是否使用压缩
rdbcompression yes
#dbfilename:数据快照文件名(只是文件名,不包括目录)
dbfilename dump.rdb
#dir:数据快照的保存目录(这个是目录)
dir /usr/local/redis/var
##aof
#appendonly:是否开启appendonlylog,AOF是另一种持久化方式,开启的话每次写操作会记一条log,这会提高数据抗风险能力,但影响效率。
appendonly no
#appendfsync:appendonlylog如何同步到磁盘(三个选项,分别是每次写都强制调用fsync、每秒启用一次fsync、不调用fsync等待系统自己同步)
appendfsync everysec
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
##slow log
#如果操作时间大于0.001秒,记录slow log,这个log是记录在内存中的,可以用redis-cli slowlog get 命令查看
slowlog-log-slower-than 10000
#slow log 的最大长度
slowlog-max-len 128
##virtual memory
#是否使用虚拟内存
vm-enabled no
#swap文件,不同redis swap文件不能共享。而且生产环境下,不建议放在tmp目录。
vm-swap-file /tmp/redis.swap
#vm大小限制。0 不限制,建议60-80% 可用内存大小
vm-max-memory 0
#根据缓存内容大小调整,默认32字节
vm-page-size 32
#page数。每 8 page 会占用1字节内存
vm-pages 134217728
#m 最大io线程数。注意: 0 标志禁止使用vm(开关真多)
vm-max-threads 4
#
hash-max-zipmap-entries 512
hash-max-zipmap-value 64
#
list-max-ziplist-entries 512
list-max-ziplist-value 64
set-max-intset-entries 512
zset-max-ziplist-entries 128
zset-max-ziplist-value 64
activerehashing yes
##limit
#最大使用内存单位<bytes>,默认情况下redis会占用可用的所有内存
maxmemory 256000000
#maxclients 最大连接数, 0 表示不限制
maxclients 1024
##replication
requirepass dongnan
#slave
#master的ip地址与端口号
#slaveof 10.0.100.70 6379
#设置slave到master的认证
#masterauth dongnan
#在master服务器挂掉或者同步失败时,从服务器是否继续提供服务
slave-serve-stale-data yes
EOF

1.5 启动redis
 

复制代码 代码示例:
/usr/local/redis/bin/redis-server /usr/local/redis/conf/redis.conf
//redis 进程与端口号
ps -ef | grep redis
root 19426 1  0 13:44 ?00:00:00 /usr/local/redis/bin/redis-server /usr/local/redis/conf/redis.conf
lsof -i :6379
COMMAND PID USER   FD   TYPE  DEVICE SIZE NODE NAME
redis-ser 19426 root4u  IPv4 7257634   TCP *:6379 (LISTEN)

1.6 验证redis
 

复制代码 代码示例:
telnet 10.0.100.70 6379
Trying 10.0.100.70…
Connected to monitor.test.com (10.0.100.70)。
Escape character is '^]'.
set name test
+OK
get name
$4
test
quit
+OK
Connection closed by foreign host.
//使用redis-cli
/usr/local/redis/bin/redis-cli -h 10.0.100.70 info
redis_version:2.4.15
redis_git_sha1:00000000
redis_git_dirty:0
arch_bits:64
multiplexing_api:epoll
gcc_version:4.4.4
process_id:16508
uptime_in_seconds:602110
uptime_in_days:6
lru_clock:1948675
used_cpu_sys:129.20
used_cpu_user:117.94
used_cpu_sys_children:14.57
used_cpu_user_children:158.95
connected_clients:1
connected_slaves:0
client_longest_output_list:0
client_biggest_input_buf:0
blocked_clients:0
used_memory:594999992
used_memory_human:567.44M
used_memory_rss:172482560
used_memory_peak:594999904
used_memory_peak_human:567.44M
mem_fragmentation_ratio:0.29
mem_allocator:jemalloc-2.2.5
loading:0
aof_enabled:0
changes_since_last_save:0
bgsave_in_progress:0
last_save_time:1340097972
bgrewriteaof_in_progress:0
total_connections_received:34
total_commands_processed:6946723
expired_keys:0
evicted_keys:0
keyspace_hits:32
keyspace_misses:0
pubsub_channels:0
pubsub_patterns:0
latest_fork_usec:9602
vm_enabled:0
role:master
db0:keys=1969249,expires=0

1.7 关闭redis
/usr/local/redis/bin/redis-cli -h 10.0.100.70  -p 6379 shutdown