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

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

Java操作Redis的方式有哪些

本篇內(nèi)容介紹了“Java操作redis的方式有哪些”的有關(guān)知識(shí),在實(shí)際案例的操作過(guò)程中,不少人都會(huì)遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

成都創(chuàng)新互聯(lián)公司-專(zhuān)業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性?xún)r(jià)比霞浦網(wǎng)站開(kāi)發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式霞浦網(wǎng)站制作公司更省心,省錢(qián),快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋霞浦地區(qū)。費(fèi)用合理售后完善,10多年實(shí)體公司更值得信賴(lài)。

Jedis操作Redis

創(chuàng)建idea工程

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


        
            redis.clients
            jedis
            3.2.0
        

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

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對(duì)象
        Jedis jedis = new Jedis("192.168.37.139",6379);
		//測(cè)試Jedis客戶(hù)端是否能夠連接上Redis
        System.out.println(jedis.ping());
    }
}

輸出PONG表示連接成功~
Java操作Redis的方式有哪些

注意:

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

  • 首先,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)目,引入依賴(lài)


        
            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配置類(lèi)

@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);
        //解決查詢(xún)緩存轉(zhuǎn)換異常的問(wèn)題
        ObjectMapper om = new ObjectMapper();
        om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
        om.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);
        jackson2JsonRedisSerializer.setObjectMapper(om);
        // 配置序列化(解決亂碼的問(wèn)題),過(guò)期時(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;
    }

}

簡(jiǎn)單的Controller測(cè)試

/**
 * @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)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!


本文名稱(chēng):Java操作Redis的方式有哪些
文章鏈接:http://weahome.cn/article/jedigg.html

其他資訊

在線(xiàn)咨詢(xún)

微信咨詢(xún)

電話(huà)咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部