Linux下安装redis

 下载及安装    :   wget http://redis.googlecode.com/files/redis-4.0.6.tar.gz

  创建安装目录:/usr/local/redis/  redis-4.0.6.tar.gz

  解压安装包:在/usr/local/redis下解压   :   tar -zxvf   redis-4.0.6.tar.gz

  解压之后,进入加压后的文件夹输入以下:make PREFIX=/usr/local/redis/redis-4.0.6  install

                                                                   mkdir  /usr/local/redis/redis-4.0.6/etc

可能会出现的错误提示
>>提示1:
make[3]: gcc:命令未找到
>>解决
yum -y install gcc-c++

>>提示2:
在包含自 adlist.c:34 的文件中:
zmalloc.h:50:31: 错误:jemalloc/jemalloc.h:没有那个文件或目录
zmalloc.h:55:2: 错误:#error "Newer version of jemalloc required"
>>解决
make的时候加上 MALLOC=libc 参数
make PREFIX=/usr/local/redis/redis-4.0.6 MALLOC=libc install

redis启动的配置文件:cp redis.conf /etc/

由于redis安装在/usr/local/redis/redis-4.0.6/下,所以
cd /usr/local/redis/redis-4.0.6/ 进入这个目下,执行
cp redis-benchmark redis-cli redis-server /usr/bin/
这样就不用再执行时加上./了,而且可以在任何地方执行

echo 1 > /proc/sys/vm/overcommit_memory

设置内存分配策略(可选,根据服务器的实际情况进行设置) /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端口,修改防火墙配置文件:  vi /etc/sysconfig/iptables  

    加入端口配置:-A INPUT -m state --state NEW -m tcp -p tcp --dport 6379 -j ACCEPT  

重新加载规则
service iptables restart

启动redis service
redis-server /etc/redis.conf

Linux下安装redis_第1张图片

查看进程,确定redis启动成功:
ps -ef | grep redis
[root@mtycentos ~]# ps -ef | grep redis
root      3862  3666  0 23:10 pts/1    00:00:00 redis-server /etc/redis.conf
root      3886  3866  0 23:11 pts/0    00:00:00 grep redis

如果启动失败,大部分情况下是因为redis.conf的配置有问题。
设置redis为后台守护进程:
vi /etc/redis.conf
# By default Redis does not run as a daemon. Use 'yes' if you need it.
# Note that Redis will write a pid file in /var/run/redis.pid when daemonized.
#daemonize no
daemonize yes
把no 改为 yes

修改完成后关闭redis : redis-cli shutdown
查看是否关闭:ps -ef | grep redis

再次启动为守护进程:redis-server /etc/redis.conf
[root@mtycentos ~]# ps -ef | grep redis
root      3913     1  0 23:16 ?        00:00:00 redis-server /etc/redis.conf
root      3917  3866  0 23:16 pts/0    00:00:00 grep redis

OK,启动成功

测试一把:
进入redis客户端命令行:
redis-cli   回车
redis 127.0.0.1:6379> 
redis 127.0.0.1:6379> set name hanlu
OK
redis 127.0.0.1:6379> get name
"hanlu"

说明成功了。
退出当前命令行:quit

关闭redis:
redis-cli shutdown
redis关闭后,缓存数据会自动保存到硬盘上,硬盘地址为redis.conf中的配置项dgfilename dump.rdb

强制备份数据到磁盘:
redis-cli save    or     redis-cli -p 6379 save (要制定端口进行备份)

统用键值操作

获取所有的键:keys *


模糊匹配:

删除指定key:

    

重命名key:

 Linux下安装redis_第2张图片

1.renamenx key newkey
作用: 把key改名为newkey
返回: 发生修改返回1,未发生修改返回0
注: nx--> not exists, 即, newkey不存在时,作改名动作


2.move  key db (db可换成1)
将key-value转移到其他db


3.exists key
判断key是否存在,返回1/0


4.type key
返回key存储的值的类型
有string,link,set,order set, hash


你可能感兴趣的:(Linux下安装redis)