婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁(yè) > 知識(shí)庫(kù) > redis緩存的簡(jiǎn)單操作(get、put)

redis緩存的簡(jiǎn)單操作(get、put)

熱門標(biāo)簽:西藏教育智能外呼系統(tǒng)價(jià)格 太原營(yíng)銷外呼系統(tǒng) 地圖標(biāo)注費(fèi)用 小紅書怎么地圖標(biāo)注店 最簡(jiǎn)單的百度地圖標(biāo)注 地圖標(biāo)注如何即時(shí)生效 竹間科技AI電銷機(jī)器人 百度商家地圖標(biāo)注怎么做 玄武湖地圖標(biāo)注

本文介紹簡(jiǎn)單的redis緩存操作,包括引入jedisjar包、配置redis、RedisDao需要的一些工具、向redis中放數(shù)據(jù)(put)、從redis中取數(shù)據(jù)(get)、訪問redis時(shí)的邏輯

一、引入jedis jar包

!-- java訪問redis的jar包jedis -->
dependency>
 groupId>redis.clients/groupId>
 artifactId>jedis/artifactId>
 version>2.7.3/version>
/dependency>
!-- protostuff序列化依賴 -->
dependency>
 groupId>com.dyuproject.protostuff/groupId>
 artifactId>protostuff-core/artifactId>
 version>1.0.8/version>
/dependency>
dependency>
 groupId>com.dyuproject.protostuff/groupId>
 artifactId>protostuff-runtime/artifactId>
 version>1.0.8/version>
/dependency>

注意:為什么要引入序列化依賴jar包protostuff?

1)從redis中取出的數(shù)據(jù)是序列化的,我們需要使用protostuff的反序列化操作,講序列化對(duì)象轉(zhuǎn)化成我們的需要的對(duì)象

2)向redis中放入數(shù)據(jù)時(shí),我們需要先使用protostuff的序列化操作,將對(duì)象轉(zhuǎn)化成序列化對(duì)象,才能放入redis

二、在spring配置文件中注入redis,放入spring的ioc容器

!-- 注入redis dao -->
bean id="redisDao" class="org.demo.dao.cache.RedisDao">
  constructor-arg index="0" value="localhost">/constructor-arg>
  constructor-arg index="1" value="6379">/constructor-arg>
/bean>

注意:

1)這里的RedisDao路徑是我的包路徑,注意你在配置的時(shí)候應(yīng)使用你自己的路徑

2)這里使用本地的redis服務(wù)localhost

3)redis服務(wù)的默認(rèn)端口是6379

三、RedisDao需要的一些工具

//redis連接池
 private final JedisPool jedisPool;//根據(jù)對(duì)象的字節(jié)碼文件,生成空對(duì)象
 private RuntimeSchemaObject> schema = RuntimeSchema.createFrom(Object.class); //Object.class:獲取對(duì)象的字節(jié)碼
 
 public RedisDao(String ip, int port){
  jedisPool = new JedisPool(ip, port);
 }

注意:

1)RedisDao需要redis的連接池JedisPool,就好比JDBC的數(shù)據(jù)庫(kù)連接池一樣。我們?cè)赗edisDao的構(gòu)造器中會(huì)初始化這個(gè)連接池

2)我們需要一個(gè)可以根據(jù)對(duì)象的字節(jié)碼文件生成空對(duì)象的工具 RuntimeSchema。你要使用什么對(duì)象,你就在Object的位置寫入你的對(duì)象(Object.class:獲取對(duì)象的字節(jié)碼文件)

3)連接池JedisPool的初始化需要兩個(gè)參數(shù):ip、port

四、向redis中放數(shù)據(jù)(put)

//將對(duì)象緩存到redis
 public String putObject(Object obj){
  //緩存邏輯:Object --> 序列化 --> byte[] --> 緩存到redis
  try {
   Jedis jedis = jedisPool.getResource(); //獲取redis的連接對(duì)象,相當(dāng)于JDBC的connection
   try{
    String key = "Object:"+obj.getId();
    //進(jìn)行序列化
    byte[] bytes = ProtostuffIOUtil.toByteArray(seckill, schema, 
      LinkedBuffer.allocate(LinkedBuffer.DEFAULT_BUFFER_SIZE)); //如果對(duì)象過大,會(huì)進(jìn)行緩沖
    //開始緩存
    int timeout = 60*60; //設(shè)置超時(shí)時(shí)間 一小時(shí),通過超時(shí)維護(hù)一致性
    String result = jedis.setex(key.getBytes(), timeout, bytes);
    return result;
   }finally{
    jedis.close();
   }
  } catch (Exception e) {
   e.printStack();
  }
  return null;
 }

注意:

1)緩存邏輯:Object --> 序列化操作 --> byte[] --> 寫入redis。也就是先把對(duì)象序列化,再寫入redis!

2)我們?cè)诓僮鱮edis之前必須先拿到redis的連接對(duì)象,從連接池拿

五、從redis中取數(shù)據(jù)(get)

 //從redis緩存中查詢
 public Object getObject(long id){
  //redis操作邏輯
  try {
   Jedis jedis = jedisPool.getResource(); //緩存連接對(duì)象,相當(dāng)于數(shù)據(jù)庫(kù)連接對(duì)象connection
   try {
    String key = "Object:"+id;
    //實(shí)體對(duì)象并沒有實(shí)現(xiàn)內(nèi)部序列化操作
    //緩存邏輯:getByte[] --> 反序列化 --> Object
    byte[] bytes = jedis.get(key.getBytes()); //從jedis中獲取目標(biāo)對(duì)象的序列化對(duì)象數(shù)組
    if(bytes != null){
     //反序列化邏輯
     Object obj = schema.newMessage(); //通過schema生成一個(gè)新的空對(duì)象
     ProtostuffIOUtil.mergeFrom(bytes, obj, schema); //進(jìn)行反序列化操作
     return obj;
    }
    
   } finally {
    jedis.close();
   }
    
  } catch (Exception e) {
        e.printStack();
  }
  return null;
 }

注意:

1)取數(shù)據(jù)邏輯:redis --> 得到byte[] --> 反序列化 --> Object

2)我們?cè)诜艛?shù)據(jù)的時(shí)候,是以鍵值對(duì)的形式:id --> obj。我們?cè)谌?shù)據(jù)的時(shí)候,就是根據(jù)id來取的

六、查詢r(jià)edis時(shí)的邏輯

偽代碼:

get form redis_cache    //首先查詢r(jià)edis
if null       //如果沒有
 get from db     //再?gòu)臄?shù)據(jù)庫(kù)db查詢
 if null      //如果仍然沒有
  return null    //那么返回空
 else       //否則
  put into redis_cache  //現(xiàn)將數(shù)據(jù)放入redis
  return obj    //再放回?cái)?shù)據(jù)
else        //如果從redis中查詢到了
 return obj     //那么直接返回?cái)?shù)據(jù)

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • spring結(jié)合redis如何實(shí)現(xiàn)數(shù)據(jù)的緩存
  • Redis整合Spring結(jié)合使用緩存實(shí)例
  • php操作redis緩存方法分享
  • 圖文詳解Windows下使用Redis緩存工具的方法
  • Python的Flask框架使用Redis做數(shù)據(jù)緩存的配置方法
  • PHP使用redis實(shí)現(xiàn)統(tǒng)計(jì)緩存mysql壓力的方法
  • Spring Boot 基于注解的 Redis 緩存使用詳解
  • Nginx配置srcache_nginx模塊搭配Redis建立緩存系統(tǒng)
  • CI框架中redis緩存相關(guān)操作文件示例代碼
  • Redis緩存詳解

標(biāo)簽:廣東 景德鎮(zhèn) 唐山 澳門 揚(yáng)州 贛州 香港 林芝

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《redis緩存的簡(jiǎn)單操作(get、put)》,本文關(guān)鍵詞  redis,緩存,的,簡(jiǎn)單,操作,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《redis緩存的簡(jiǎn)單操作(get、put)》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于redis緩存的簡(jiǎn)單操作(get、put)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    粉嫩绯色av一区二区在线观看| 欧美在线观看一二区| 国产精品一区在线观看乱码 | 亚洲国产精品t66y| 欧美r级在线观看| 欧美视频在线不卡| 色999日韩国产欧美一区二区| 成人性视频网站| 久久99久久精品| 美女脱光内衣内裤视频久久影院| 亚洲成人av电影在线| 亚洲大片精品永久免费| 亚洲午夜一区二区三区| 亚洲免费观看高清在线观看| 亚洲欧洲性图库| 国产精品不卡在线观看| 国产精品国产三级国产| 亚洲精品中文在线影院| 自拍偷拍欧美激情| 一区二区在线观看av| 一区二区三区四区激情| 亚洲在线免费播放| 亚洲一二三四久久| 视频一区二区三区在线| 蜜臀av一区二区三区| 久久91精品久久久久久秒播| 国产精品乡下勾搭老头1| 成人免费不卡视频| 99国产精品久久久久久久久久久| 91麻豆视频网站| 欧美综合亚洲图片综合区| 欧美日韩精品一区二区天天拍小说 | 一区二区三区欧美| 亚洲国产精品一区二区www在线| 亚洲一区二区三区在线看| 天堂资源在线中文精品| 久久99九九99精品| 白白色 亚洲乱淫| 欧美日韩专区在线| 日韩视频国产视频| 欧美激情资源网| 亚洲综合小说图片| 麻豆freexxxx性91精品| 成人av网在线| 欧美无人高清视频在线观看| 日韩一区二区中文字幕| 国产精品久久午夜夜伦鲁鲁| 日韩中文字幕av电影| 国产乱码精品一区二区三区av| 99免费精品在线| 欧美成人免费网站| 亚洲乱码国产乱码精品精小说| 免费观看91视频大全| 99视频国产精品| 欧美精品一区二区三区高清aⅴ | 国产精品久久久久三级| 亚洲电影视频在线| 成人一二三区视频| 日韩一二在线观看| 日韩美女视频19| 国产一区亚洲一区| 欧美日韩在线三区| 国产精品久久福利| 久久国产精品色| 欧美日韩情趣电影| 国产精品国产三级国产普通话三级| 日本中文字幕一区| 91国产免费观看| 椎名由奈av一区二区三区| 国内久久婷婷综合| 欧美久久久久久久久| 亚洲柠檬福利资源导航| 国产成人自拍高清视频在线免费播放| 在线观看不卡视频| 国产精品国产自产拍高清av王其| 国产一区二区三区综合| 日韩欧美亚洲一区二区| 日韩国产精品久久久久久亚洲| 一本到不卡免费一区二区| 国产精品传媒入口麻豆| 国产白丝精品91爽爽久久| 欧美xxx久久| 蜜臀a∨国产成人精品| 欧美日韩亚洲综合在线| 亚洲一区在线观看网站| 91免费看片在线观看| 亚洲丝袜美腿综合| 99亚偷拍自图区亚洲| 最近中文字幕一区二区三区| 成人爱爱电影网址| 中文在线一区二区| 99在线热播精品免费| 亚洲欧美日韩小说| 色婷婷狠狠综合| 亚洲成人动漫在线免费观看| 欧美日韩美女一区二区| 亚洲国产va精品久久久不卡综合| 欧美亚洲免费在线一区| 一区二区在线观看视频| 色老头久久综合| 香蕉影视欧美成人| 日韩欧美一区在线| 激情综合五月婷婷| 国产欧美一二三区| 91在线云播放| 亚洲一区二区不卡免费| 欧美日韩视频不卡| 日本视频一区二区| 欧美大胆人体bbbb| 国产超碰在线一区| 亚洲另类在线一区| 欧美色电影在线| 精品在线视频一区| 亚洲欧洲在线观看av| 精品视频在线免费观看| 蜜臀av国产精品久久久久| 26uuu色噜噜精品一区二区| 国产精品888| 一区二区三区四区在线免费观看| 欧美自拍偷拍午夜视频| 久久91精品国产91久久小草| 日本一区二区三级电影在线观看 | 成人免费不卡视频| 一区二区三区在线免费播放 | 中文字幕欧美激情一区| 91在线一区二区三区| 日韩成人午夜电影| 国产欧美日韩视频一区二区| 91国产免费看| 国产一区二区免费看| 亚洲欧美另类综合偷拍| 日韩一区二区三| 色av综合在线| 国产高清亚洲一区| 亚洲福利一二三区| 国产日韩精品一区| 在线播放亚洲一区| 91视频观看视频| 国产一区二区三区免费在线观看| 亚洲va天堂va国产va久| 欧美激情一区二区在线| 欧美一级欧美三级| 日本韩国一区二区三区视频| 国产呦萝稀缺另类资源| 五月天激情小说综合| 亚洲欧美国产77777| 久久久国产精品不卡| 欧美日韩精品电影| 91亚洲精品久久久蜜桃| 国产精品99久久久| 狠狠久久亚洲欧美| 日韩av在线发布| 亚洲国产乱码最新视频| 国产精品不卡一区| 中文字幕免费观看一区| 2023国产精华国产精品| 91精品麻豆日日躁夜夜躁| 欧美中文字幕一区二区三区亚洲| 成人午夜av影视| 国产老妇另类xxxxx| 麻豆久久一区二区| 天堂av在线一区| 亚洲国产日韩一区二区| 中文字幕在线不卡国产视频| 国产午夜亚洲精品理论片色戒| 日韩精品最新网址| 91精品国产色综合久久久蜜香臀| 欧美无乱码久久久免费午夜一区| 欧洲精品一区二区三区在线观看| 日本道免费精品一区二区三区| 99国产精品国产精品久久| 成人av在线看| 色婷婷综合视频在线观看| 91麻豆swag| 欧美日韩高清一区| 欧美一级生活片| 日韩精品专区在线| 精品国产青草久久久久福利| 26uuu久久综合| 日本一区二区三区久久久久久久久不| 国产精品视频yy9299一区| 日韩毛片视频在线看| 一区二区三区**美女毛片| 午夜久久久久久久久| 天天色 色综合| 麻豆一区二区99久久久久| 国产一二精品视频| 本田岬高潮一区二区三区| 91香蕉视频mp4| 欧美日韩精品二区第二页| 日韩欧美国产综合| 国产蜜臀97一区二区三区 | 狂野欧美性猛交blacked| 久久精品理论片| 成人av在线电影| 欧美喷潮久久久xxxxx| 久久综合成人精品亚洲另类欧美| 国产精品久久久久久亚洲伦| 亚洲宅男天堂在线观看无病毒| 美女网站在线免费欧美精品|