redis代码

public class MmailRedis {

/**

* 商品库存缓存

*/

private JedisDo stockJedis;

/**

* 个人信息缓存

*/

private JedisDo personalJedis;

/**

* 短期缓存

*/

private JedisDo shorttermJedis;

/**

* 导购宝用户信息缓存

*/

private JedisDo dgbJedis;

public JedisDo getStockJedis() {

return stockJedis;

}

@Autowired

public void setStockJedis(JedisDo stockJedis) {

this.stockJedis = stockJedis;

}

public JedisDo getPersonalJedis() {

return personalJedis;

}

@Autowired

public void setPersonalJedis(JedisDo personalJedis) {

this.personalJedis = personalJedis;

}

public JedisDo getShorttermJedis() {

return shorttermJedis;

}

@Autowired

public void setShorttermJedis(JedisDo shorttermJedis) {

this.shorttermJedis = shorttermJedis;

}

public JedisDo getDgbJedis() {

return dgbJedis;

}

@Autowired

public void setDgbJedis(JedisDo dgbJedis) {

this.dgbJedis = dgbJedis;

}

}

====================================

public interface StockCache {

public MmailRedis getMmailRedis();

public List<Long> decrBys(List<Product> list);

public List<Long> loadBys(List<Product> list);

/**

* 获取导购员信息

* @param shopGuideCode

* @return

*/

public Map<String,String> hgetAll(String shopGuideCode);

/**

* 获取某个Key下的values里的字段

* @param shopGuideCode

* @param returnColumn

* @return

*/

public String hget(String shopGuideCode,String returnColumn);

}

===================================================

public class JedisDo {

private static Logger logger = LoggerFactory.getLogger(JedisDo.class);

@Autowired

private JedisPool jedisPool;

public void setJedisPool(JedisPool jedisPool) {

this.jedisPool = jedisPool;

}

public JedisDo(JedisPool jedisPool) {

this.jedisPool = jedisPool;

}

public JedisDo() {

}

/**

* Execute with a call back action with result.

*/

public <T> T execute(JedisAction<T> jedisAction) throws JedisException {

Jedis jedis = null;

// boolean broken = false;

logger.debug("execute");

try {

jedis = jedisPool.getResource();

return jedisAction.action(jedis);

} catch (JedisException e) {

throw e;

} finally {

if (jedis != null) {

jedis.close();

}

}

}

/**

* Return the internal JedisPool.

*/

public JedisPool getJedisPool() {

return jedisPool;

}

public static void main(String[] args) {

Jedis jedis = null;

//Redis服务器IP

String ADDR = "192.168.2.127";

//Redis的端口号

int PORT = 6379;

//访问密码

String AUTH = "appcan.cn";

int TIMEOUT = 10000;

try {

ResourceBundle bundle = ResourceBundle.getBundle("redis");

if (bundle == null) {

throw new IllegalArgumentException("[redis.properties] is not found!");

}

JedisPoolConfig config = new JedisPoolConfig();

config.setMaxTotal(Integer.valueOf(bundle.getString("redis.pool.maxTotal")));

config.setMaxIdle(Integer.valueOf(bundle.getString("redis.pool.maxIdle")));

config.setMaxWaitMillis(Long.valueOf(bundle.getString("redis.pool.maxWait")));

logger.info("redis.pool.maxTotal="+bundle.getString("redis.pool.maxTotal"));

JedisPool pool = new JedisPool(config, ADDR, PORT, TIMEOUT, AUTH);

jedis = pool.getResource();

jedis.hset("STOCK:","prod" ,"1");

} catch (JedisException e) {

throw e;

} finally {

if (jedis != null) {

jedis.close();

}

}

}

}

=============================================

public interface JedisAction<T> {

T action(Jedis jedis);

}

时间: 2024-08-12 20:44:17

redis代码的相关文章

springboot整合mybatis,redis,代码(二)

一 说明: springboot整合mybatis,redis,代码(一) 这个开发代码的复制粘贴,可以让一些初学者直接拿过去使用,且没有什么bug 二 对上篇的说明 可以查看上图中文件: 整个工程包括配置,对对应上文的配置 原文地址:https://www.cnblogs.com/xiufengchen/p/10327501.html

阿里云PHP Redis代码示例

测试代码示例 <?php /* 这里替换为连接的实例host和port */ $host = "localhost"; $port = 6379; /* 这里替换为实例id和实例password */ $user = "test_username"; $pwd = "test_password"; $redis = new Redis(); if ($redis->connect($host, $port) == false) { d

springboot整合mybatis,redis,代码(一)

一 搭建项目,代码工程结构 使用idea或者sts构建springboot项目 二  数据库sql语句 SQLyog Ultimate v12.08 (64 bit) MySQL - 5.7.14-log ********************************************************************* */ /*!40101 SET NAMES utf8 */; create table `person` ( `id` int (11), `name`

springboot整合mybatis,redis,代码(五)

redis注解开发过程中包含许多注解 [email protected] 可以标记在方法上,也可以标记在类上.当标记在方法上时表示该方法是支持缓存的,当标记在类上时则表示该类所有的方法都是支持缓存的.应用到读取数据的方法上,将先从缓存中读取该方法的返回值,如果没 有再从DB获取数据,然后把数据添加到缓存中 缓存是以键值对进行的,值就是方法的返回结果,至于键的话,Spring又支持两种策略,默认策略和自定义策略,需要注意的是当一个支持缓存的方法在对象内部被调用时是不会触发缓存功能的. [email

Redis代码阅读之Hacking Strings

Hacking Strings The implementation of Redis strings is contained in sds.c ( sds stands for Simple Dynamic Strings ).The C structure sdshdr declared in sds.h represents a Redis string: struct sdshdr { long len; long free; char buf[]; }; The buf charac

kvstore存储介质redis代码

<?php /** * ShopEx licence * * @copyright Copyright (c) 2005-2010 ShopEx Technologies Inc. (http://www.shopex.cn) * @license http://ecos.shopex.cn/ ShopEx License */ /* * @package base * @copyright Copyright (c) 2010, shopex. inc * @author [email pro

redis代码解析-事务

redis 的事务相关的几个命令分别为 watch multi exec. watch 可以监控一个变量在事务开始执行之前是否有被修改.使用方式为: WATCH key [key ...] 在redis内部的实现是每个db有一个名为watched_keys的dict,这个dict的key为监控的key,value为所有监控该key的client组成的链表. 所有的涉及到修改数据库的命令执行成功之后都会执行signalModifiedKey->touchWatchedKey,将修改的db中的wat

springboot整合mybatis,redis,代码(三)

一 说明 接着上篇讲述redis缓存配置的用法: 二 正文 首先要使用缓存就必须要开开启缓存,第二步是需要开redis-server 下载redis包之后,点击图中两个都可以开启redis 怎么看是否启动呢,见下图: 在application中加入连接地址,和相关策略: 原文地址:https://www.cnblogs.com/xiufengchen/p/10327515.html

springboot整合mybatis,redis,代码(四)

一 说明 这是spring整合redis注解开发的系类: 二 正文 在注解开发时候,会有这几个注解需要注意: 具体含义: [email protected] 可以标记在方法上,也可以标记在类上.当标记在方法上时表示该方法是支持缓存的,当标记在类上时则表示该类所有的方法都是支持缓存的.应用到读取数据的方法上,将先从缓存中读取该方法的返回值,如果没有再从DB获取数据,然后把数据添加到缓存中 2 @CacheEvcit  应用到删除数据的方法上,调用方法时会从缓存中删除对应key的数据 3 @Cach