Redis安装
远程连接工具
可以使用xshell,crt,MobaXterm等连接工具
我这里使用xshell,使用教育版即可,推荐直接在官网登记下载
打开后,文件->新建,创建一个新的会话属性,录入服务器的IP,点击连接后输入登录的用户名密码即可
连接并安装
安装来源推荐直接使用官网的下载路径即可,里面有详细的安装步骤
推荐安装到opt目录下,下面是我的安装流程
su root // 切换到root用户
cd /opt/ // 切换到opt目录
wget http://download.redis.io/releases/redis-5.0.5.tar.gz // 安装,最新版本以官网为准
tar -zxvf redis-5.0.5.tar.gz // 解压
cd redis-5.0.5 // 进入redis目录
make // 制作
cd src // 进入redis的src
make test // test,报错,缺少tcl
cd /usr/local/
wget http://downloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gz // 下载tcl,有点久
tar -zxvf tcl8.6.1-src.tar.gz
cd tcl8.6.1/unix/
./configure
make
make install
cd /opt/redis-5.0.5/src/
make test
ps -ef | grep redis // 查看是否已经启动了redis,有就kill -kill ***
redis-server // 启动服务,再新开一个窗口,在新窗口进行redis测试
redis-cli // 启动客户端
测试redis
127.0.0.1:6379> ping
PONG
127.0.0.1:6379> set k1 v1
OK
127.0.0.1:6379> get k1
"v1"
127.0.0.1:6379> shutdown
not connected>
// CTRL+C
实现后台启动redis服务
cd
mkdir myredis
cp redis.conf /root/myredis/ // 拷贝config到新建文件夹
cd /root/myredis/
使用vim编辑器,将bind 127.0.0.1注释掉,protected-mode的yes改为no,将daemonize中 no改为yes, 将dir(rdb持久化临时文件)修改为 /root/myredis,暂不开启AOF
测试后台启动,不新开会话窗口
redis-server /root/myredis/redis.conf // 用自己的配置启动
ps -ef | grep redis
redis-cli
SpringBoot整合Redis
连接测试
引入依赖
<!--redis-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
注入RedisTemplate
@Configuration
public class CommonConfig {
@Bean
public RestTemplate restTemplate() {
return new RestTemplate();
}
}
配置Redis
# redis
spring:
redis:
host:
port:
简单测试
@SpringBootTest
class WppApplicationTests {
@Autowired
private RedisTemplate redisTemplate;
@Test
public void test01() {
redisTemplate.boundValueOps("k1").set("v1");
}
}
客户端查看
127.0.0.1:6379> keys *
1) "\xac\xed\x00\x05t\x00\x02k1"
使用RedisTemplate<String,String>,或StringRedisTemplate实现序列化
@SpringBootTest
class WppApplicationTests {
@Autowired
private RedisTemplate<String,String> redisTemplate;
@Autowired
private StringRedisTemplate stringRedisTemplate;
@Test
public void test01() {
redisTemplate.boundValueOps("k2").set("v2");
stringRedisTemplate.boundValueOps("k3").set("v3");
}
}
查看客户端
127.0.0.1:6379> keys *
1) "k3"
2) "k2"
3) "\xac\xed\x00\x05t\x00\x02k1"
使用模板类方法
@SpringBootTest
class WppApplicationTests {
@Autowired
private RedisTemplate redisTemplate;
@Test
public void test02() {
execute().set("k4".getBytes(), "v4".getBytes());
}
private RedisConnection execute() {
return (RedisConnection) redisTemplate.execute((RedisCallback) redisConnection -> redisConnection);
}
}
查看
127.0.0.1:6379> keys *
1) "k3"
2) "k4"
3) "k2"
4) "\xac\xed\x00\x05t\x00\x02k1"
待更新
详细过程,可参考源代码:https://github.com/chetwhy/cloud-flow