黄小华的个人网站
熬过无人问津的日子才有诗和远方!
云服务器部署Redis并远程连接

在安装Redis前,云服务器实例是完全纯净的。首先执行下面的命令下载并安装redis:

//下载
wget http://download.redis.io/releases/redis-4.0.9.tar.gz
//解压
tar xzf redis-4.0.9.tar.gz
//进入解压后的目录
cd redis-4.0.9
//安装到当前目录
make

如果make失败,一般是系统中还未安装gcc造成的,因为Redis是用C语言写成的,所以需要先通过yum install gcc安装C语言环境。 或者试试make install

安装Redis后,先别慌着启动,因为Redis对远程连接要求比较苛刻,具体到以下几点:

Redis服务默认只让本机访问,因为现在Redis是在人家阿里云的服务器上,所以需要修改成让外网也能访问。主要是修改Redis的默认配置文件reidis.conf。
vim redis.conf
1.注释掉bind 127.0.0.1这一行,改成bind 0.0.0.0 这样可以使所有的ip访问redis
2.修改 protected-mode,值改为no
3.为了Redis的安全,需要把#requirepass foobared去掉注释,foobared改为自己的密码,
例如可以改为requirepass 123456
4.配置实例得安全组 也就是把6379端口开起来

经过以上几步后,理论上就可以通过外网访问到云服务器上的Redis了。如果现在去启动Redis的服务端,
会发现Redis只能是前台启动,在这里可以通过修改redis.conf里的daemonize为yes让redis开启后台启动。

因为redis采用的是单进程多线程的模式。当redis.conf中选项daemonize设置成yes时,代表开启守护进程模式。
在该模式下,redis会在后台运行,并将进程pid号写入至redis.conf选项pidfile设置的文件中
此时redis将一直运行,除非手动kill该进程。

在修改完配置文件后,我们进入redis-4.0.9的scr目录,执行以下命令启动Redis的服务端:

./redis-server ../redis.conf  #后台启动redis
ps -ef | grep redis     #查看运行状态
./redis-cli -p 6379 shutdown   #关闭redis

这样Redis就在云服务器上以后台的方式启动了,接下来我在本地快速搭建了一个SpringBoot整合Redis的案例。在application.yml添加如下内容:

spring:
  redis:
#设置redis主机ip
    host: #你的云服务器IP地址
#连接服务的端口号
    port: 6379
#连接redis服务的密码
    password: #刚刚在redis.conf中设置的密码   

最后maven导依赖

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis</artifactId>
        </dependency>

下面我举例购物车场景中使用


@Autowired
   private RedisTemplate<Object,Object> redisTemplate;
//从redis中取数据
Cart cart = (Cart) redisTemplate.opsForValue().get("cart");
//存数据到数据库中
redisTemplate.opsForValue().set("cart",cart);