package cn.com.cennavi.northis.redis;
import java.util.List;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
//import redis.clients.SerializeUtil;
//import redis.clients.util.*;
public class RedisClient {
private static String redisIp = "1";
private static int port = 6370;
private static JedisPool pool = null;
private static Jedis jRedisImport = new Jedis(redisIp,port);
public static void LoadRedisIpAndPort(String ipValue, String portValue){
//ResourceBundle resourceObj = ResourceBundle.getBundle("/APP/TrafficEyeVecService/Config");
//String ipValue = resourceObj.getString("ip");
//String portValue = resourceObj.getString("port");
redisIp = ipValue;
port = Integer.valueOf(portValue).intValue();
}
public static JedisPool getPool(){
if(pool == null){
JedisPoolConfig config = new JedisPoolConfig();
config.setMaxActive(500);
config.setMaxIdle(5);
config.setMaxWait(1000 * 100);
config.setTestOnBorrow(true);
pool = new JedisPool(config,redisIp,port,60000,"cennavi");
}
return pool;
}
public static void set(String key,byte[] byData){
//jRedisImport.auth("cennavi");
//jRedisImport.set(key.getBytes(), byData);
JedisPool redisPool = null;
Jedis jedis = null;
byte[] byResult = null;
try{
redisPool = getPool();
jedis = redisPool.getResource();
jedis.set(key.getBytes(), byData);
//jedis.setex(key.getBytes(), 0, byData);
}catch(Exception e){
redisPool.returnBrokenResource(jedis);
e.printStackTrace();
}finally{
redisPool.returnBrokenResource(jedis);
}
}
@SuppressWarnings("deprecation")
public static byte[] get(String key){
JedisPool redisPool = null;
Jedis jedis = null;
byte[] byResult = null;
try{
redisPool = getPool();
jedis = redisPool.getResource();
byResult = jedis.get(key.getBytes());
}catch(Exception e){
redisPool.returnBrokenResource(jedis);
e.printStackTrace();
}finally{
redisPool.returnBrokenResource(jedis);
}
return byResult;
}
@SuppressWarnings("deprecation")
public static List<byte[]> mget(List<String> lstkeys)
{
byte[][] keys = new byte[lstkeys.size()][32];
JedisPool redisPool = null;
Jedis jedis = null;
List<byte[]> byResultBytes = null;
try
{
for (int i = 0; i < lstkeys.size(); i++)
{
keys[i] = lstkeys.get(i).getBytes();
}
redisPool = getPool();
jedis = redisPool.getResource();
byResultBytes = jedis.mget(keys);
} catch (Exception e)
{
redisPool.returnBrokenResource(jedis);
e.printStackTrace();
}
finally
{
redisPool.returnBrokenResource(jedis);
}
return byResultBytes;
}
public static void returnResource(JedisPool pool, Jedis redis){
if(redis != null){
pool.returnBrokenResource(redis);
}
}
}
相关推荐
这个压缩包文件包含的"最全面的Redis应用代码"为学习者提供了丰富的资源,涵盖了Redis的多种应用场景和实现方式。让我们深入探讨Redis的基础知识、主要特性和常见应用场景。 1. Redis基础概念: - Redis是Remote ...
TP6 Redis 应用方案详解 在本文中,我们将详细介绍 TP6 Redis 应用方案的实现细节,该方案涉及到微信登录、Token 认证、购物车管理、订单提交等多个方面。 微信登录流程 在微信登录流程中,前端调用 login 获取 ...
Linge-互联网行业中Redis的应用.pptx==Redis应用讲解PPT文件。Redis(Remote Dictionary Server ),远程字典服务,是一个开源的使用C语言编写、支持网络、可基于内存、分布式、可选持久性的键值对(Key-Value)存储...
去年我写的培训用教材,redis应用场景简介,简单列举了一些Redis的使用场景。 发现下载积分居然无法调整……
Redis Redis 应用构建实例.flv
Spring MVC + Redis 应用实例,包括Srping MVC配置,spring和redis整合,以及简单的页面展示,提供写入内存的增删改查功能;编辑工具eclipse;代码本人调试过,可执行
读书笔记:redis应用实战
RedisInsight是一个Redis可视化工具,提供设计、开发和优化 Redis 应用程序的功能 查询、分析你的 Redis
而Redis,作为一个高性能的键值数据库,常被用于缓存、消息队列等多种场景,大大提升了应用的性能。本文将详细介绍如何在Spring Boot项目中集成Redis,以实现高效的数据存储和检索。 首先,集成Redis需要在Spring ...
在本章中,我们将深入探讨如何使用 Redis 构建各种应用程序。Redis 是一个高性能的键值存储系统,常用于数据库、缓存和消息中间件的角色。它的特点是数据结构丰富,支持字符串、哈希、列表、集合和有序集合等多种...
#### 二、Redis的选择与应用场景 1. **大规模互联网应用:** 随着互联网应用规模的增长,对数据处理速度和并发能力的要求越来越高。Redis作为一种高性能的NoSQL数据库,能够满足这些需求。 2. **云存储:** 在...
用于Grafana的Redis应用程序插件 概括 介绍 什么是Grafana的Redis应用程序? Redis应用程序是Grafana的插件,它为Redis数据源提供应用程序页面和自定义面板: 命令行界面(CLI) 命令延迟(图形和表格) 按键...
2. **Redis应用实践**: - **缓存**:Redis的高速读写性能使其成为理想的缓存解决方案,可以缓解数据库的压力,提高Web应用的响应速度。 - **消息队列**:通过发布/订阅模式或列表数据结构,Redis可以实现简单的...
Redis核心原理与应用实践 Redis 作为互联网技术架构中最为广泛使用的中间件,它在存储系统中发挥着至关重要的作用。特别是在大型互联网公司中,Redis 是面试官最喜欢问的工程技能之一,这也反映了 Redis 在行业中的...
本进阶教程“Redis深度历险”旨在帮助读者深入理解Redis的核心特性和应用场景,从而更好地利用它来提升应用的性能和效率。 1. **Redis的数据结构** - 字符串(Strings):最基础的数据类型,可存储任意长度的字符串...
1-2.Redis应用 — Redis基本数据结构 1-3.Redis应用 — 分布式锁 1-4.Redis应用 — 延时队列 1-5.Redis应用 — 位图 1-6.Redis应用 — HyperLogLog 1-7.Redis应用 — 布隆过滤器 1-8.Redis应用 — 简单限流 1-9....
Redis 是一个开源的,基于键值对的数据存储系统,常被用作数据库、缓存和消息中间件。...总的来说,Redis在Unity游戏开发中的应用可以极大地提升数据处理效率,但正确集成和使用它需要对Redis和Unity的特性有深入理解。
**Redis与LabVIEW的整合:RedisinLabVIEW和LabVIEWRedis工具包** Redis是一个高性能的键值数据库,常用于数据缓存和消息队列。...通过深入理解和实践,开发者可以构建出满足各种需求的LabVIEW-Redis应用程序。
本示例将详细解释如何利用Redis来实现在ASP.NET MVC应用程序中用户登录功能,并保持用户的登录状态,同时设置过期时间和监控在线用户。 首先,我们需要安装Redis服务器。`Redis-x64-3.2.100.zip`是Redis的一个...