1. 程式人生 > >springboot redis 用法簡介

springboot redis 用法簡介

pom.xml

<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>

application.yml

 #redis 配置
    redis:
      database: 0
      host: 127.0.0.1
      port: 6379
      password:
      pool:
        max
-active: 8 max-wait: -1 max-idle: 8 min-idle: 0 timeout: 0

RedisConfig.java


@Configuration
@EnableCaching
public class RedisConfig extends CachingConfigurerSupport {


    @Bean
    public KeyGenerator keyGenerator() {

        return new KeyGenerator() {
            @Override
public Object generate(Object o, Method method, Object... objects) { StringBuilder sb = new StringBuilder(); sb.append(o.getClass().getName()); sb.append(method.getName()); for (Object param : objects ) { sb.append(param.toString()); } return
sb.toString(); } }; } @Bean public CacheManager cacheManager(RedisTemplate redisTemplate) { RedisCacheManager rcm = new RedisCacheManager(redisTemplate); //設定快取過期時間 // rcm.setDefaultExpiration(60);//秒 //設定value的過期時間 return rcm; } /** * RedisTemplate配置 * * @param factory * @return */ @Bean public RedisTemplate<String, String> redisTemplate(RedisConnectionFactory factory) { StringRedisTemplate template = new StringRedisTemplate(factory); 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.setValueSerializer(jackson2JsonRedisSerializer);//如果key是String 需要配置一下StringSerializer,不然key會亂碼 /XX/XX template.afterPropertiesSet(); //template.setStringSerializer(); return template; } }

簡單的測試


@RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest(classes = {LiveApplication.class})
public class RedisTest {


    @Autowired
    RedisTemplate redisTemplate;

    @Autowired
    StringRedisTemplate stringRedisTemplate;

    @Autowired
    LiveRoomMapper liveRoomMapper;

    @Test
    public void test() {
        stringRedisTemplate.opsForValue().set("name", "xiaozhun");
        Assert.assertEquals("xiaozhun", stringRedisTemplate.opsForValue().get("name"));
    }

    //批量刪除
    @Test
    public void delete() {
        Set<Serializable> keys = redisTemplate.keys("name*");
        if (keys.size() > 0)
            redisTemplate.delete(keys);
    }


    //初始化channelID:callback_url 集合
    @Test
    public void initChannelId() {
        List<LiveRoom> list = liveRoomMapper.selectAll();
        list.forEach(liveRoom -> {
            stringRedisTemplate.opsForValue().set("channelId:" + liveRoom.getChannelId(), liveRoom.getCallbackUrl()+"");
        });
    }
}

相關推薦

springboot redis 用法簡介

pom.xml <dependency> <groupId>org.springframework.boot</groupId>

SpringBoot HATEOAS用法簡介

REST風格簡介 介紹HATEOAS之前先簡單介紹一下REST,REST 是 Representational state transfer 的縮寫,翻譯過來的意思是表達性狀態轉換。REST是一種架構的風格 Richardson Maturity Model Richardson 提出了REST一種 成熟度模

(轉)Linux下內存映射文件的用法簡介

target 共享 文件 知識 i/o 共享數據 log 需要 使用 簡介: 內存映射文件與虛擬內存有些類似,通過內存映射文件可以保留一個地址空間的區域,同時將物理存儲器提交給此區域,只是內存文件映射的物理存儲器來自一個已經存在於磁盤上的文件,而非系統的頁文

@login_required用法簡介

.py confirm sign direct class eset topic 包含 sig 在django項目中,經常會看到下面這樣的代碼: from django.contrib.auth.decorators import login_required

Redis(一)-簡介

案例 原子性操作 set bsp 免費 slave 硬件 簡單的 原子性 Redis 簡介 Redis 是完全開源免費的,遵守BSD協議,是一個高性能的key-value數據庫。 Redis 與其他 key - value 緩存產品有以下三個特點: Redis支持數據的

Django中 @login_required用法簡介

template 需求 csr view mail fun sig 如果 csrf 我們在網站開發過程中,經常會遇到這樣的需求: 用戶登陸系統才可以訪問某些頁面 如果用戶沒有登陸而直接訪問就會跳轉到登陸界面,而不能訪問其他頁面。 用戶在跳轉的登陸界面中完成登陸後,

Android HttpLoggingInterceptor的用法簡介

nbsp -- ide evel clas 記錄 pla public andro 該攔截器用於記錄應用中的網絡請求的信息。 示例 OkHttpClient client = new OkHttpClient(); HttpLoggingInterceptor l

samtools的用法簡介

ack nbsp default 染色 位置 ons too 結果 標準 1.SAM(sequence Alignment/mapping)數據格式是目前高通量測序中存放比對數據的標準格式,當然他可以用於存放未比對的數據 2.AMTools的主要功能如下: view:

redis學習--簡介和安裝

key-value shel 解壓 過去 內存 下載 local 完成 test 1.redis介紹: Redis 與其他 key - value 緩存產品有以下三個特點: Redis支持數據的持久化,可以將內存中的數據保存在磁盤中,重啟的時候可以再次加載進行使用。 Re

springboot redis簡單結合

call final 重啟 table and prim 時間 狀態 unix 參考: https://www.cnblogs.com/ityouknow/p/5748830.htmlhttp://blog.csdn.net/i_vic/article/details/53

Springboot redis 整合

不優雅 settime 朋友 最大 阻塞 操作 create rom unit 年末將至,是時候該把所學的總結下了。最近正好從eclipes轉到idea,發現idea對模組的支持很棒。這一片先總結下springboot和redis的整合 首先添加redis服務器 直接用do

spring boot 學習(十四)SpringBoot+Redis+SpringSession緩存之實戰

blog 安裝 user 個人 turn pid pass pin star SpringBoot + Redis +SpringSession 緩存之實戰 前言 前幾天,從師兄那兒了解到EhCache是進程內的緩存框架,雖然它已經提供了集群環境下的緩存同步策略,這種同步仍

springboot + redis

oot 判斷 warnings 讀取 remove min 定時 tro 編寫 1.添加依賴包 <dependency> <groupId>org.springframework.boot</groupId> <artifa

Springboot+Redis 配置和使用

geb ops ans ber catch prop service com trac pom.xml 引入redis 開啟緩存 <!-- cache --> <dependency> <

springboot---redis

base util nts pin cache str stp index style <!--redis依賴--> <dependency> <groupId>org.springframework.boot</g

oracle中 start with .. connect by prior.. 用法簡介

bsp 簡單 parent 目錄樹 lena prior conn 就是 比較 我們經常會將一個比較復雜的目錄樹存儲到一個表中。或者將一些部門存儲到一個表中,而這些部門互相有隸屬關系。這個時候你就會用到connect by prior start with。oracle 提

springboot+redis實現分散式session共享

    官方文件,它是spring session專案的redis相關的一個子文件:https://docs.spring.io/spring-session/docs/2.0.0.BUILD-SNAPSHOT/reference/html5/guides/boot

mssql sqlserver 分組排序函式row_number、rank、dense_rank用法簡介及說明

轉載:http://www.maomao365.com/?p=5771 摘要: 在實際的專案開發中,我們經常使用分組函式,對組內資料進行群組後,然後進行組內排序: 如: 1:取出一個客戶一段時間內,最大訂單數的行記錄 2: 取出一個客戶一段時間內,最後一次銷售記錄的行記錄

SpringBoot學習_簡介以及微服務

SpringBoot簡介 Spring Boot是用來簡化Spring應用開發,去繁從簡,just run就能建立一個獨立的,產品級別的應用 優點: 快速建立獨立執行的Spring專案以及與主流框架整合 使用嵌入式的Servlet容器,應用無需打成WAR包 s

SpringBoot+Redis 入門

SpringBoot+Redis 入門 redis: 以key-value的形式將資料儲存於記憶體中。其主要資料型別有string、hash、list、set、zset(有序的set)。 redis安裝: windows https://blog.csdn.net/u01