redis使用测试,redis-cli

yum 安装redis

或者编译安装


wget 
tar xzf redis-2.8.17.tar.gz -C /opt/
cd /opt/redis-2.8.17
make
cp redis.conf /etc/redis.conf
cp redis-benchmark redis-cli redis-server /usr/bin/添加环境变量,也可其他方法
vim /usr/lib/systemd/system/redis.service

[Unit]
Description=Redis persistent key-value database
After=network.target

[Service]
ExecStart=/usr/bin/redis-server /etc/redis.conf --daemonize no
ExecStop=/usr/bin/redis-shutdown
User=redis
Group=redis

[Install]
WantedBy=multi-user.target

systemctl enable redis.service
systemctl start redis.service

开放防火墙,针对6379端口
firewall-cmd --permanet ...

测试
redis-cli
>set name jason
OK
>get name
"jason"


在另外台服务器上测试redis
redis -h 45.x.x.234
>get name
"jason"

设置内存分配规则:(内核调优)

设置内存分配策略(可选,根据服务器的实际情况进行设置)
/proc/sys/vm/overcommit_memory
可选值:0、1、2。
0, 表示内核将检查是否有足够的可用内存供应用进程使用;如果有足够的可用内存,内存申请允许;否则,内存申请失败,并把错误返回给应用进程。
1, 表示内核允许分配所有的物理内存,而不管当前的内存状态如何。
2, 表示内核允许分配超过所有物理内存和交换空间总和的内存

值得注意的一点是,redis在dump数据的时候,会fork出一个子进程,理论上child进程所占用的内存和parent是一样的,比如parent占用的内存为8G,这个时候也要同样分配8G的内存给child,如果内存无法负担,往往会造成redis服务器的down机或者IO负载过高,效率下降。所以这里比较优化的内存分配策略应该设置为 1(表示内核允许分配所有的物理内存,而不管当前的内存状态如何)

你可能感兴趣的:(redis,安装,测试)