宜立方day06—redis

 

ctrl+c:退出

 

 

[root@localhost redis-3.0.0]# cp redis.conf /usr/local/redis/bin/


原来没有key1

incr  +1

decr  -1

      incr  key1 等于1 


 

  1. Redis的持久化方案

Redis的所有数据都是保存到内存中的。

Rdb:快照形式,定期把内存中当前时刻的数据保存到磁盘。Redis默认支持的持久化方案。

 

aof形式:append only file。把所有对redis数据库操作的命令,增删改操作的命令。保存到文件中。数据库恢复时把所有的命令执行一遍即可。

 

集群:为了增加内存,存数据

集群之间相互连接;客户端只要连接到任意一个集群点就行

集群之间存储的数据不同

为了保证高可用,每个节点加一个备份机

 

加载文件只能配置一个

 


代码模块

为了不影响代码业务逻辑要在缓存中加入   try   catch

在抛出异常内写缓存代码

try{
			
}catch(Exception e){
			
}

 hget:获取的时候要key、field一块写

@Override
	public List<TbContent> getContentList(long cid) {
		
    //查询缓存(获取缓存数据)
		try {
			String json = jedisClient.hget(CONTENT_KEY, cid + "");
			//判断json是否为空
			if (StringUtils.isNotBlank(json)) {
				//把json转换成list
				List<TbContent> list = JsonUtils.jsonToList(json, TbContent.class);
				return list;
			}
		} catch (Exception e) {
			e.printStackTrace();
		}

		//根据cid查询内容列表
		TbContentExample example = new TbContentExample();
		//设置查询条件
		Criteria criteria = example.createCriteria();
		criteria.andCategoryIdEqualTo(cid);
		//执行查询
		List<TbContent> list = contentMapper.selectByExample(example);
		
        //向缓存中添加数据
		try {
			jedisClient.hset(CONTENT_KEY, cid + "", JsonUtils.objectToJson(list));
		} catch (Exception e) {
			e.printStackTrace();
		}
		return list;
	}

把list集合变成一个json串

JsonUtils.objectToJson(list);

对内容信息做增删改操作后只需要把对应缓存删除即可。

可以根据cid删除

删除cid

/*
 * redis缓存同步
 */
private void redisSync(Long categoryId) {
    //删除对应field缓存即可
    jedisClient.hdel(CONTENT_LIST,categoryId + "");
}

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值