redis

redis生成多个数据库全局唯一id,mysql无自增,手动insert:

import java.net.URLEncoder;
import redis.clients.jedis.JedisPoolConfig;
import redis.clients.jedis.ShardedJedis;
import redis.clients.jedis.ShardedJedisPool;

private static ShardedJedisPool pool = new ShardedJedisPool(poolConfig, shardJedis);
private static JedisPoolConfig poolConfig = new JedisPoolConfig();

//key如:seq_productid
public static long incrByStr(String key) {
		if (key == null){
			return 0L;
		}
		ShardedJedis jedis = null;
		long ret = 0L;
		try {
			jedis = pool.getResource();
			ret = jedis.incr(encode(key));
		} catch (Exception e) {
			log.error(e);
			ret= -1;		
		} finally {
			if(jedis!=null)pool.returnResource(jedis);
		}
		return ret;
	}

 

在Redis中,并不是所有的数据都一直存储在内存中的。这是和Memcached相比一个最大的区别。Redis只会缓存所有的 key的信息,如果Redis发现内存的使用量超过了某一个阀值,将触发swap的操作,Redis根据“swappability = age*log(size_in_memory)”计算出哪些key对应的value需要swap到磁盘。然后再将这些key对应的value持久化到磁盘中,同时在内存中清除。这种特性使得Redis可以保持超过其机器本身内存大小的数据。当然,机器本身的内存必须要能够保持所有的key,毕竟这些数据是不会进行swap操作的。同时由于Redis将内存中的数据swap到磁盘中的时候,提供服务的主线程和进行swap操作的子线程会共享这部分内存,所以如果更新需要swap的数据,Redis将阻塞这个操作,直到子线程完成swap操作后才可以进行修改。

 

Jedis使用总结 http://my.oschina.net/XYleung/blog/101029

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值