redis 工具类

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介:

redis操作的工具类

Java代码   收藏代码
  1. import java.util.Map;  
  2.   
  3. import org.apache.log4j.Logger;  
  4.   
  5. import redis.clients.jedis.Jedis;  
  6.   
  7. import com.chanjet.gov.service.Const;  
  8.   
  9.   
  10. public class RedisUtil {  
  11.   
  12.     public static Logger logger = Logger.getLogger(RedisUtil.class);  
  13.   
  14.   
  15.     private Jedis jedis;  
  16.     private Jedis jedisForIP;  
  17.   
  18.     private RedisHelper() {//每次从池里取新连接  
  19.         this.jedis = Const.pool.getResource();  
  20.         this.jedis.select(11);  
  21.         this.jedisForIP = this.jedis;  
  22.     }  
  23.   
  24.     public static RedisHelper getInstance() {  
  25.         RedisHelper instance = new RedisHelper();  
  26.   
  27.   
  28.   
  29. //        if(!instance.jedis.isConnected()){  
  30. //            instance.jedis.connect();  
  31. //        }  
  32. //  
  33. //        //如果读取失败,关闭并重新连接  
  34. //        try{  
  35. //            String v = instance.jedis.get("test_connect");  
  36. //        }catch(Exception e){  
  37. //            instance.jedis.close();  
  38. //            instance.jedis.connect();  
  39. //        }  
  40.   
  41.         return instance;  
  42.     }  
  43.   
  44.     public Jedis getClient() {  
  45.         return jedis;  
  46.     }  
  47.   
  48.     public Jedis getClientForIP() {  
  49.         return jedisForIP;  
  50.     }  
  51.   
  52.     public void saveCache(String k, String v) {  
  53.   
  54.         try{  
  55.             jedis.set(k, v);  
  56.         }catch (Exception e){  
  57.             e.printStackTrace();  
  58.             logger.error("saveCache",e);  
  59.             Const.pool.returnBrokenResource(jedis);  
  60.         }finally {  
  61.             Const.pool.returnResource(jedis);  
  62.         }  
  63.   
  64.     }  
  65.   
  66.     public void saveKeyCache(String id, String k, String v) {  
  67.   
  68.         try{  
  69.             jedis.hset(id, k, v);  
  70.         }catch (Exception e){  
  71.             e.printStackTrace();  
  72.             logger.error("saveKeyCache",e);  
  73.             Const.pool.returnBrokenResource(jedis);  
  74.         }finally {  
  75.             Const.pool.returnResource(jedis);  
  76.         }  
  77.   
  78.     }  
  79.   
  80.     public void saveAllKeyCache(String id, Map kv) {  
  81.   
  82.         try{  
  83.             jedis.hmset(id, kv);  
  84.         }catch (Exception e){  
  85.             e.printStackTrace();  
  86.             logger.error("saveAllKeyCache",e);  
  87.             Const.pool.returnBrokenResource(jedis);  
  88.         }finally {  
  89.             Const.pool.returnResource(jedis);  
  90.         }  
  91.   
  92.     }  
  93.   
  94.     public void clearKeyCache(String id, String k) {  
  95.   
  96.         try{  
  97.             jedis.hdel(id, k);  
  98.         }catch (Exception e){  
  99.             e.printStackTrace();  
  100.             logger.error("clearKeyCache",e);  
  101.             Const.pool.returnBrokenResource(jedis);  
  102.         }finally {  
  103.             Const.pool.returnResource(jedis);  
  104.         }  
  105.   
  106.     }  
  107.   
  108.     public String getCache(String k) {  
  109.   
  110.         String v = "";  
  111.         try{  
  112.             v = jedis.get(k);  
  113.   
  114.         }catch (Exception e){  
  115.             e.printStackTrace();  
  116.             logger.error("getCache",e);  
  117.             Const.pool.returnBrokenResource(jedis);  
  118.         }finally {  
  119.             Const.pool.returnResource(jedis);  
  120.         }  
  121.   
  122.         return v;  
  123.     }  
  124.   
  125.     public String getKeyCache(String id,  String k) {  
  126.   
  127.         String v = "";  
  128.   
  129.         try{  
  130.             v = jedis.hget(id, k);  
  131.         }catch (Exception e){  
  132.             e.printStackTrace();  
  133.             logger.error("getKeyCache",e);  
  134.             Const.pool.returnBrokenResource(jedis);  
  135.         }finally {  
  136.             Const.pool.returnResource(jedis);  
  137.         }  
  138.   
  139.         return v;  
  140.     }  
  141.   
  142.     public Map getAllKeyCache(String id) {  
  143.   
  144.         Map v = null;  
  145.         try{  
  146.             v = jedis.hgetAll(id);  
  147.         }catch (Exception e){  
  148.             e.printStackTrace();  
  149.             logger.error("getAllKeyCache",e);  
  150.             Const.pool.returnBrokenResource(jedis);  
  151.         }finally {  
  152.             Const.pool.returnResource(jedis);  
  153.         }  
  154.         return v;  
  155. //        Map v = jedis.hgetAll(id);  
  156.   
  157. //        return v;  
  158.     }  
  159.   
  160.     public void clearCache(String id) {  
  161.   
  162.         try{  
  163.             jedis.del(id);  
  164.         }catch (Exception e){  
  165.             e.printStackTrace();  
  166.             logger.error("clearCache",e);  
  167.             Const.pool.returnBrokenResource(jedis);  
  168.         }finally {  
  169.             Const.pool.returnResource(jedis);  
  170.         }  
  171.   
  172. //        jedis.del(id);  
  173.     }  
  174.   
  175. }  

 使用

Java代码   收藏代码
  1. String needLogin = RedisUtil.getInstance().getKeyCache(cid,"needJsonp");  
  2.                     String password = RedisUtil.getInstance().getKeyCache(id,"password");  
相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
10月前
|
XML NoSQL Java
Redis - 一篇走心的 RedisUtil 工具类
Redis - 一篇走心的 RedisUtil 工具类
2761 0
Redis - 一篇走心的 RedisUtil 工具类
|
5月前
|
缓存 NoSQL Java
springboot中集成redis,二次封装成工具类
springboot中集成redis,二次封装成工具类
|
5月前
|
存储 缓存 NoSQL
【Redis】3、Redis 作为缓存(Redis中的穿透、雪崩、击穿、工具类)
【Redis】3、Redis 作为缓存(Redis中的穿透、雪崩、击穿、工具类)
114 0
|
5月前
|
NoSQL Redis 数据库
python编写一个redis工具类
python编写一个redis工具类
283 0
|
5月前
|
NoSQL Java Redis
用java写个redis工具类
用java写个redis工具类
118 0
|
12月前
|
存储 NoSQL Java
Spring Boot 如何编写一个通用的 Redis 工具类
Spring Boot 如何编写一个通用的 Redis 工具类
359 0
Spring Boot 如何编写一个通用的 Redis 工具类
|
NoSQL Java Redis
分享一个基于 Jedis 的 Redis 工具类
分享一个基于 Jedis 的 Redis 工具类
101 0
|
NoSQL Redis
redis操作工具类
redis操作工具类
106 0
下一篇
无影云桌面