一.单机版
启动单台redis服务:
1.开启redis命令 redis-server /myredis/redis.conf (重定义的文件)
2.使用redis-server客户端 redis-cli -p 6379
默认端口(6379)
开启客户端 redis-cli 127.0.0.1:6379
ping — > pong
3.查看redis是否启动
进程查看 ps -ef|grep redis
端口查看 lsof -i : 6379
二.我的案例
/Users/liuhang/eclipse/eclipse2/document/Spdb
实现在UserController类中
Logger
logger
= LoggerFactory.getLogger(UserServiceImpl.
class
);
private
String
REDIS_CONTENT_KEY
=
"redis_content_key"
;
public
List<Employee> findEmployess(List<String>
idList
) {
//TODO 这个地方加缓存和不加缓存,单台或者集群的redis,都要进行压力测试
// 添加缓存
// 查询数据库之前先查询缓存,如果有直接返回
String
s
=
idList
.get(0);
try
{
logger.debug("-------查询redis缓存");
String
json
=
jedisClient
.hget(
REDIS_CONTENT_KEY
,
idList
+
""
);
//Stringjson = jedisClient.get(s);
// 把json转换为list
if
(!StringUtils.isBlank(
json
)){
//把json转换成List
List<Employee>
list
= JSONUtils.toList(
json
,Employee.
class
);
return
list
;
}
}
catch
(Exception
e
) {
e.printStackTrace();
}
logger.debug("----------执行查询");
List<Employee>
list
=
employeeDao
.getEmployeesByKeys(
idList
);
try
{
// 为了规范key可以使用hash,定义一个保存内容的key,hash中每个项就是cid,value是list,需要把list转换成json数据。
jedisClient
.hset(
REDIS_CONTENT_KEY
,
idList
+
""
, JSONUtils.toJSONString(
list
));
//jedisClient.set(s, JSONUtils.toJSONString(list));
}
catch
(Exception
e
) {
e
.printStackTrace();
}
return
list
;
}
三.注意事项
1.要做好缓存同步,也就是在增加,修改,删除数据后,要同步缓存,把原有的del,在放入新的 这样就可以了`~
2.企业会这么做,所有的缓存都有一个团队来管理,做一个定时器,每天凌晨固定一个时间点来跑批,把数据放入缓存
3.取之前查询有没有缓存,有直接返回,没有查数据库,然后再放入缓存