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"
複製代碼

待更新

相關文章
相關標籤/搜索