真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Java操作Redis的方法是什么

今天小編給大家分享一下Java操作redis的方法是什么的相關(guān)知識(shí)點(diǎn),內(nèi)容詳細(xì),邏輯清晰,相信大部分人都還太了解這方面的知識(shí),所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作、外貿(mào)營銷網(wǎng)站建設(shè),成都做網(wǎng)站公司-創(chuàng)新互聯(lián)公司已向數(shù)千家企業(yè)提供了,網(wǎng)站設(shè)計(jì),網(wǎng)站制作,網(wǎng)絡(luò)營銷等服務(wù)!設(shè)計(jì)與技術(shù)結(jié)合,多年網(wǎng)站推廣經(jīng)驗(yàn),合理的價(jià)格為您打造企業(yè)品質(zhì)網(wǎng)站。

Jedis操作Redis

創(chuàng)建idea工程

建立一個(gè)Maven項(xiàng)目,導(dǎo)入Jedis依賴即可:


        
            redis.clients
            jedis
            3.2.0
        

導(dǎo)入依賴之后創(chuàng)建JedisDemo測試類

package com.vleus.jedis;

import redis.clients.jedis.Jedis;

/**
 * @author vleus
 * @date 2021年07月03日 23:52
 */
public class JedisDemo1 {

    public static void main(String[] args) {

        //創(chuàng)建Jedis對象
        Jedis jedis = new Jedis("192.168.37.139",6379);
		//測試Jedis客戶端是否能夠連接上Redis
        System.out.println(jedis.ping());
    }
}

輸出PONG表示連接成功~
Java操作Redis的方法是什么

注意:

第一次測試時(shí)如果連接不上虛擬機(jī)的Redis,報(bào)連接不上的異常有兩個(gè)問題需要解決:

  • 首先,kill掉Redis的進(jìn)程,然后修改Reids的啟動(dòng)使用的配置文件

    • 注釋掉bind的配置;

    • 同時(shí)將protected-mode的值改為no
      Java操作Redis的方法是什么

  • 第二步,關(guān)掉Linux的防火墻(這里僅是在做學(xué)習(xí)時(shí)使用,生產(chǎn)環(huán)境別這么干)

systemctl stop firewalld
systemctl disable firewalld

反正我是這么解決的。

Jedis操作Redis

1、創(chuàng)建idea springboot項(xiàng)目,引入依賴


        
            org.springframework.boot
            spring-boot-starter
        

        
            org.springframework.boot
            spring-boot-starter-test
            test
        

        
        
            org.springframework.boot
            spring-boot-starter-data-redis
        

        
        
            org.apache.commons
            commons-pool2
            2.6.2
        
		
            com.fasterxml.jackson.core
            jackson-databind
            2.8.3
        

    

2、創(chuàng)建RedisConfig配置類

@EnableCaching
@Configuration
public class RedisConfig {

    @Bean
    public RedisTemplate redisTemplate(RedisConnectionFactory factory) {
        RedisTemplate template = new RedisTemplate<>();
        RedisSerializer redisSerializer = new StringRedisSerializer();
        Jackson2JsonRedisSerializer jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer(Object.class);
        ObjectMapper om = new ObjectMapper();
        om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
        om.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);
        jackson2JsonRedisSerializer.setObjectMapper(om);
        template.setConnectionFactory(factory);
        //key序列化方式
        template.setKeySerializer(redisSerializer);
        //value序列化
        template.setValueSerializer(jackson2JsonRedisSerializer);
        //value hashmap序列化
        template.setHashValueSerializer(jackson2JsonRedisSerializer);
        return template;
    }

    @Bean
    public CacheManager cacheManager(RedisConnectionFactory factory) {
        RedisSerializer redisSerializer = new StringRedisSerializer();
        Jackson2JsonRedisSerializer jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer(Object.class);
        //解決查詢緩存轉(zhuǎn)換異常的問題
        ObjectMapper om = new ObjectMapper();
        om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
        om.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);
        jackson2JsonRedisSerializer.setObjectMapper(om);
        // 配置序列化(解決亂碼的問題),過期時(shí)間600秒
        RedisCacheConfiguration config = RedisCacheConfiguration.defaultCacheConfig()
                .entryTtl(Duration.ofSeconds(600))
                .serializeKeysWith(RedisSerializationContext.SerializationPair.fromSerializer(redisSerializer))
                .serializeValuesWith(RedisSerializationContext.SerializationPair.fromSerializer(jackson2JsonRedisSerializer))
                .disableCachingNullValues();
        RedisCacheManager cacheManager = RedisCacheManager.builder(factory)
                .cacheDefaults(config)
                .build();
        return cacheManager;
    }

}

簡單的Controller測試

/**
 * @author vleus
 * @date 2021年07月04日 13:06
 */
@RestController
@RequestMapping(value = "/redisTest")
public class RedisTestController {

    @Resource
    private RedisTemplate redisTemplate;

    @GetMapping
    public String testRedis() {
        //設(shè)置值到redis
        redisTemplate.opsForValue().set("name","jack");
        //從redis中獲取值
        String name = (String) redisTemplate.opsForValue().get("name");
        return name;
    }
}

以上就是“Java操作Redis的方法是什么”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會(huì)為大家更新不同的知識(shí),如果還想學(xué)習(xí)更多的知識(shí),請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


新聞標(biāo)題:Java操作Redis的方法是什么
文章網(wǎng)址:http://weahome.cn/article/piesis.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部