redis缓存

来源:互联网 发布:域名转移 编辑:程序博客网 时间:2024/06/05 01:32

最近要对项目中的一个模块进行优化(写的是在太差了),1、代码层面的优化,尽量减少与数据库多余的交互。2、逻辑层面的优化,有哪些步骤是不必要的、多余的。3、数据库层优化,主要是增加缓存,加快数据库的读取速度。

这里主要是redis缓存增加。根据考虑采用的数据类型是hashmap。

reads缓存/*update redis:first del ,then insert*/
String value = jsonUtil.getJsonStr(entity);
String key = entity.getGpCatalogId().toString();
String filed = entity.getCode();
if(jedisClientUtil.hexists(key,filed)){
    jedisClientUtil.hdel(key,filed);
        jedisClientUtil.hset(key,filed,value);
}else{
    jedisClientUtil.hset(key,filed,value);
}/* del redis*/
String key = tmpEntity.getGpCatalogId().toString();
String filed = tmpEntity.getCode();
jedisClientUtil.hdel(key,filed);
gpCatalogNodeDao.updateGpCatalogNode(entity);
/*del all redis*/
String key = gpCatalogId.toString();
Map<String,String> map = jedisClientUtil.hgetAll(key);
for(String filed :map.values()){
    jedisClientUtil.hdel(key,filed);
}/*search redis */
    String value = jedisClientUtil.hget(gpCatalogId.toString() ,code);
if (value.length() > 0){
    GpCatalogNodeEntity gpCatalogNodeEntity = jsonUtil.jsonObject(value , GpCatalogNodeEntity.class);
    return gpCatalogNodeEntity;
}else{
    GpCatalogNodeEntity gpCatalogNodeEntity = super.unique(param);

    String valued = jsonUtil.getJsonStr(gpCatalogNodeEntity);
    String key = gpCatalogNodeEntity.getGpCatalogId().toString();
    String filed = gpCatalogNodeEntity.getCode();
    jedisClientUtil.hset(key,filed,valued);
    return gpCatalogNodeEntity;
}/*insert redis*/
String value = jsonUtil.getJsonStr(entity);
String key = entity.getGpCatalogId().toString();
String filed = entity.getCode();
jedisClientUtil.hset(key,filed,value);


                                             
0 0
原创粉丝点击