Linux(CentOs7) weget 安装 redis
1,首先,Redis是什么?
Redis是一个开源的,基于内存的键值数据存储,用作数据库,缓存和消息代理。
在实现方面,Key-Value存储代表NoSQL空间中最大和最老的成员之一。
Redis支持数据结构,如字符串,散列,列表,集和带范围查询的有序集。
在spring data redis的框架,可以很容易地编写,
通过提供一个抽象的数据存储使用Redis的键值存储的Spring应用程序。
非关系型数据库,基于内存,存取数据的速度不是关系型数据库所能比拟的。redis是键值对(key-value)的数据库
有5中主要数据类型:
1,字符串类型 string
2,散列类型 hash
3,列表类型 list
4,集合类型 set
5,有序集合类型 zset
2,redis缓存为什么速度快?
这么说吧,别人问你什么是“redis”,如果你知道,
你可以直接吧啦吧啦一大堆,其实这个时候你的大脑就类似redis缓存,
别人问的“redis”就是key,你说出来的结果就是value,而你如果不知道,
你就去上网查,然后再告诉别人,这就类似于查询数据库了,你查了再告诉别人当然慢了!
你把脑袋里的东西写进笔记就类似redis持久化保存了;
你过了两个月把这玩意忘了,就是redis的定期删除了;
凭借着SpringBoot的开箱即用的特点,集成Redis也不例外
1, redisTemplate.opsForValue();//操作字符串
2, redisTemplate.opsForHash();//操作hash
3, redisTemplate.opsForList();//操作list
4, redisTemplate.opsForSet();//操作set
5, redisTemplate.opsForZSet();//操作有序set
完整安装步骤:
本例使用的Linux系统是CentOs7,诸如Ubuntu等Linux操作系统的操作命令或许存在个别差异,请自行学习了解。
此处安装的redis版本为: redis-4.0.6.tar.gz 我的版本为:redis-4.0.8.tar.gz
可以到redis的官网找到各个Redis版本的下载地址,如:http://download.redis.io/releases/redis-4.0.6.tar.gz
一 ,安装redis
1 ,创建redis的安装目录
利用以下命令,切换到/usr/local路径
cd /usr/local
2 ,下载并解压redis文件
下载redis安装包
wget http://download.redis.io/releases/redis-4.0.6.tar.gz
解压redis压缩文件
tar -zxvf redis-4.0.6.tar.gz
3,安装gcc依赖,如果需要选择,键入y,回车
yum install gcc
切换到redis的解压目录中
cd redis-4.0.6
编译安装redis
make MALLOC=libc
将/usr/local/redis-4.0.6/src目录下的文件加到/usr/local/bin目录
cd src && make install
二 测试redis是否安装成功
1, 直接启动
切换到src目录
cd src
./redis-server
redis启动成功,但启动窗口一直处于打开状态,不能进行其他操作,需要用ctrl+c关闭窗口。
2, 以后台进程的方式启动redis
先修改redis.conf文件
cd /usr/local/redis-4.0.6
vi redis.conf
进入 vim 编辑模式 输入 1,查找 /daemonize 2. Enter 键 3,Insert 键
将daemonize no修改为daemonize yes
Esc 后 :wq 保存退出
使用ps aux | grep redis查看redis进程
[root@iZwz9ixqaqrvghs4jxct4fZ ~]# ps aux | grep redis
root 60927 0.1 0.1 141884 1656 ? Ssl 09:12 0:09 ./src/redis-server 127.0.0.1:6379
root 25825 0.0 0.0 112644 968 pts/0 R+ 11:31 0:00 grep --color=auto redis
然后可以用 kill -9 -60927 结束redis进程
3,将redis加入到开机启动
vi /etc/rc.local
添加内容:
/usr/local/redis-4.0.6/src/redis-server
/usr/local/redis-4.0.6/redis.conf
4 ,访问redis
利用redis-cli可以访问redis。切换到redis的src目录
cd /usr/local/redis-4.0.6/src
[root@iZwz9ixqaqrvghs4jxct4fZ src]# ./redis-cli
127.0.0.1:6379> set name sins
OK
127.0.0.1:6379> get name
"sins"
127.0.0.1:6379> exit
[root@iZwz9ixqaqrvghs4jxct4fZ src]#
证明redis启动成功。
三, 配置redis
Redis的配置信息,主要通过修改redis.conf文件实现,通过vi打开redis.conf文件,主要对以下参数进行设置。
daemonize 如果需要在后台运行,把该项改为yes
bind 绑定ip,设置后只接受来自该ip的请求,设置为127.0.0.1或者0.0.0.0
Requriepass 设置 登陆时需要使用密码,可以通过#号注释掉,也就是不设置密码。
四,注意事项
1, 避免redis漏洞的影响
redis存在挖矿的漏洞,可以在配置文件redis.conf中设置,只有固定的ip可以访问,也就是bind ip地址,避免不法分子利用redis漏洞搞破坏。
2, 内部访问redis
Redis使用的是6379端口,如果内部不能访问,需要从配置文件方面入手查找问题,主要查看bind的IP地址,
requirepass是否设置了密码。如果没有问题,可以通过redis-cli进行本地访问验证,这样就说明本地访问没有问题。
3, 外部访问redis
如果外部不能访问,需要查看防火墙以及服务器的端口安全设置。
防火墙的操作
查看所有打开的端口:
firewall-cmd --zone=public --list-ports
添加
firewall-cmd --zone=public --add-port=6379/tcp --permanent (--permanent永久生效,没有此参数重启后失效)
重新载入
firewall-cmd --reload
查看
firewall-cmd --zone= public --query-port=6379/tcp
删除
firewall-cmd --zone= public --remove-port=6379/tcp –permanent
端口安全设置,主要和服务器的服务供应商有关,比如阿里云,腾讯云,登录相关的网站后,找到相关的安全设置选项,进行端口的操作。
4,卸载redis:
先利用kill -9 PID停止redis服务,此处PID是通过ps aux | grep redis查看的redis的进程号。
然后到redis的安装目录,比如本文举例的/usr/local/redis-4.0.6目录,将所有的文件删除。或者直接将redis-4.0.6目录删除。
rm -rf /usr/local/redis-4.0.6 //删除安装目录
rm -rf /usr/local/redis-* //删除所有redis相关命令脚本
rm -rf /root/download/redis-4.0.6 //删除redis解压文件夹
5,常用命令:
启动redis;
redis-server /usr/local/redis-4.0.6/redis.conf
停止redis:
pkill redis
4、设置redis开机自启动
先切换到/etc/init.d目录下
然后执行自启命令
1
2
|
[root@iZwz991stxdwj560bfmadtZ init.d]# chkconfig redisd on service redisd does not support chkconfig |
看结果是redisd不支持chkconfig
解决方法:
使用vim编辑redisd文件,在第一行加入如下两行注释,保存退出
1
2
|
# chkconfig: 2345 90 10 # description: Redis is a persistent key-value database |
注释的意思是,redis服务必须在运行级2,3,4,5下被启动或关闭,启动的优先级是90,关闭的优先级是10。
再次执行开机自启命令,成功
1
|
[root@iZwz991stxdwj560bfmadtZ init.d]# chkconfig redisd on |
现在可以直接已服务的形式启动和关闭redis了
启动:
service redisd start
1
2
3
4
5
|
[root@izwz991stxdwj560bfmadtz ~]# service redisd start Starting Redis server... 2288:C 13 Dec 13:51:38.087 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo 2288:C 13 Dec 13:51:38.087 # Redis version=4.0.6, bits=64, commit=00000000, modified=0, pid=2288, just started 2288:C 13 Dec 13:51:38.087 # Configuration loaded |
关闭:
service redisd stop
1
2
3
|
[root@izwz991stxdwj560bfmadtz ~]# service redisd stop Stopping ... Redis stopped |
参考资料:
1、http://blog.csdn.net/zc474235918/article/details/50974483
2、http://blog.csdn.net/gxw19874/article/details/51992125
如果出现如下问题:
1
2
|
[root@iZwz991stxdwj560bfmadtZ ~]# service redisd start /var/run/redis_6379.pid exists, process is already running or crashed |
可参考资料:http://blog.csdn.net/luozhonghua2014/article/details/54649295
安装结束,可以愉快的开车了!