redis安裝并与SpringBoot整合

Redis安装

远程链接工具

能够使用xshell,crt,MobaXterm等链接工具java

我这里使用xshell,使用教育版便可,推荐直接在官网登记下载redis

打开后,文件->新建,建立一个新的会话属性,录入服务器的IP,点击链接后输入登陆的用户名密码便可spring

链接并安装

安装来源推荐直接使用官网的下载路径便可,里面有详细的安装步骤shell

推荐安装到opt目录下,下面是个人安装流程vim

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				// 启动客户端
复制代码

测试redisbash

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编辑器

测试后台启动,不新开会话窗口spring-boot

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"
复制代码

待更新

相关文章
相关标签/搜索