标签归档:redis

redis缓存出现异常怎么处理_读书小站

本文收集自网络,侵删!

Redis缓存出现异常的解决方法:

清除redis缓存,解决异常,操作步骤:

访问redis根目录,命令:“cd /usr/local/redis-2.8.19”。

登录redis,命令:“redis-cli -h 127.0.0.1 -p 6379”。

查看所有key值,命令:“keys *”。

删除指定索引的值,命令:“del key”。

清空整个 Redis 服务器的数据,命令:“flushall”。

清空当前库中的所有 key,命令:“flushdb”。

redis可视化工具怎么查找数据库_读书小站

本文收集自网络,侵删!

redis可视化工具怎么查找数据库

Redis可视化工具查找数据库的方法:

在可视化操作界面,点击下方的加号新建连接。

在弹出的对话框中,Name:给该连接起一个名字,Host:redis服务器的ip地址,Port:redis服务器的端口号,Auth:密码字段,如果redis服务器没有设置密码不用填。

填写完再点击”Test Connection”进行连接。

连接成功后,即可在左侧菜单查找数据库

redis怎么进行发布订阅_读书小站

本文收集自网络,侵删!

redis怎么进行发布订阅

Redis进行发布订阅的方法:

代码:

public void publish(String topic ,String messge){

Jedis jedis = null;

if (StringUtils.isBlank(topic)){

topic=TOPIC;

}

try {

jedis = jedisPool.getResource();

jedis.publish(topic,messge);

}

finally {

if (null != jedis) {

jedis.close();

}

}

}

redis的订阅功能有什么用_读书小站

本文收集自网络,侵删!

Redis订阅功能可以用于消息的传输,是一种消息通信模式,Redis客户端可以订阅任意数量的频道,具体实现代码:

package com.hcmony.sWord.redis;

import org.apache.commons.lang3.StringUtils;

import redis.clients.jedis.Jedis;

import redis.clients.jedis.JedisPool;

import redis.clients.jedis.JedisPubSub;

public class RedisMQ {

 

private static final String TOPIC="TOPIC";

 

private final JedisPool jedisPool;

 

public RedisMQ(JedisPool jedisPool) {

this.jedisPool = jedisPool;

public void publish(String topic ,String messge){

 

Jedis jedis = null;

if (StringUtils.isBlank(topic)){

topic=TOPIC;

}

try {

jedis = jedisPool.getResource();

jedis.publish(topic,messge);

}

finally {

if (null != jedis) {

jedis.close();

}

}

}

public void subscribe(String topic,JedisPubSub jedisPubSub){

 

Jedis jedis = null;

if (StringUtils.isBlank(topic)){

topic=TOPIC;

}

try {

jedis = jedisPool.getResource();

jedis.subscribe(jedisPubSub,topic);

}

finally {

if (null != jedis) {

jedis.close();

}

}

}

public static void main(String[] args) {

//默认连接本地redis,

// loclhost:6379

JedisPool jedisPool = new JedisPool();

RedisMQ publish = new RedisMQ(jedisPool);

new Thread(new Runnable() {

@Override

public void run() {

publish.subscribe("PID",new MyjedisPubSub());

}

}).start();

for (int i=0;i<100;i++){

publish.publish("PID","messge"+i);

}

}

public static class MyjedisPubSub extends JedisPubSub {

@Override

public void onMessage(String channel, String message) {

System.out.println("-------channel is "+channel+" message is "+message);

}

}

}

redis有什么可视化工具_读书小站

本文收集自网络,侵删!

Redis可视化工具有:1.Redis Desktop Manager,快速开源Redis数据库管理应用程序;2.Redis Studio,专业的Redis可视化工具;3.FastRedis,跨平台的开源Redis管理工具。

redis可视化工具有:

Redis Desktop Manager是一个用于windowslinuxMacOS的快速开源Redis数据库管理应用程序,它支持跨平台,数据操作功能较完善。

Redis Studio是一款专业的Redis可视化工具,只支持Windows,但软件稳定性强,界面简洁,功能强大。

FastRedis是一个跨平台的开源Redis管理工具,适用于大多数Linux系统,也适用于Windows、Mac OS X、FreeBSD和Android等平台。

redis如何创建缓存_读书小站

本文收集自网络,侵删!

Redis创建缓存的示例:

@Autowired

private JedisClient jedisClient;

public ListgetContentListByCid(long cid) {

//查询缓存

try {

//如果缓存中有直接响应结果

String JSON = jedisClient.hget("CONTENT_LIST", cid + "");

if (StringUtils.isNotBlank(json)) {

Listlist = JsonUtils.jsonToList(json, TbContent.class);

return list;

}

} catch (Exception e) {

e.printStackTrace();

}

//如果没有查询数据库

TbContentExample example = new TbContentExample();

Criteria criteria = example.createCriteria();

//设置查询条件

criteria.andCateGoryIdEqualTo(cid);

//执行查询

Listlist = contentMapper.selectByExampleWithBLOBs(example);

//把结果添加到缓存

try {

jedisClient.hset("CONTENT_LIST", cid + "", JsonUtils.objectToJson(list));

} catch (Exception e) {

e.printStackTrace();

}

return list;

}

}

缓存同步

当做增删改时需要更新缓存

@Override

public E3Result addContent(TbContent content) {

//插入到数据库

contentMapper.insert(content);

//当增删改操作时缓存同步,删除缓存中对应的数据,下次查询时从数据库中查

jedisClient.hdel(CONTENT_LIST, content.getCategoryId().toString());

return E3Result.ok();

}

public TbItem getItemById(long itemId) {

//查询缓存

try {

String json = jedisClient.get("REDIS_ITEM_PRE" + ":" + itemId + ":BASE");

if(StringUtils.isNotBlank(json)) {

TbItem tbItem = JsonUtils.jsonToPojo(json, TbItem.class);

return tbItem;

}

} catch (Exception e) {

e.printStackTrace();

}

//缓存中没有,查询数据库

TbItemExample example = new TbItemExample();

Criteria criteria = example.createCriteria();

//设置查询条件

criteria.andIdEqualTo(itemId);

//执行查询

Listlist = itemMapper.selectByExample(example);

if (list != null && list.size() > 0) {

//把结果添加到缓存

try {

jedisClient.set("REDIS_ITEM_PRE" + ":" + itemId + ":BASE", JsonUtils.objectToJson(list.get(0)));

//设置过期时间

jedisClient.expire("REDIS_ITEM_PRE" + ":" + itemId + ":BASE",3600);

} catch (Exception e) {

e.printStackTrace();

}

return list.get(0);

}

return null;

}

redis如何查看哨兵节点的信息_读书小站

本文收集自网络,侵删!

Redis查看哨兵节点信息的方法:1.打开终端;2.输入“sentinel sentinels imooc-master”命令看imooc-master下的哨兵节点信息即可。

redis如何查看哨兵节点的信息

具体操作步骤:

打开终端命令行模式。

输入以下命令看imooc-master下的哨兵节点信息即可。

sentinel sentinels imooc-master #查看imooc-master下的哨兵节点信息

相关操作命令:

sentinel master imooc-master #查看imooc-master下的master节点信息

sentinel slaves imooc-master #查看imooc-master下的slaves节点信息