redies成神之路

redies简介

 1  redies是一个开源的高性能的Key-value数据库
 2  redies可以将内存中的数据经过持久化保存到磁盘中
 3  redies不仅仅支持简单的key-value数据库,还支持String,list,set等多种格式存储
 4  redies 支持数据库备份
 5  Redis能读的速度是110000次/s,写的速度是81000次/s 

redies安装

windows下安装:

1  https://github.com/MSOpenTech/redis/releases,下载完成之后解压

2  新增图中startup.cmd文件,在此文件中新加一句,redis-server redis.windows.conf

3  双击图中redies中的redis-server.exe启动redies

4  双击图中的redies.cli.exe启动命令行执行下图命令

在这里插入图片描述 在这里插入图片描述

ubuntu下安装

1 sudo apt-get update
2 sudo apt-get install redis-server
3 启动  redis-server 端口6379
4 redis-cli 查看redies是否正确安装
  在此分享一篇博文,解决了我大部分遇到的问题
  [添加链接描述](https://www.cnblogs.com/zongfa/p/7808807.html)

redies发布与订阅

redies的发布与订阅是一种消息通信模式,只要一个频道发布了消息,如果其他频道订阅了这个频道,那么他就能收到消息。
1 redies订阅一个频道: SUBSCRIBE messageChart(此为订阅频道名称,类似于kafka中的topic)
2 给messagechart推送消息: PUBLISH messageChart"我是测试小能手阿"
在这里插入图片描述

redies事物

redies事物分三个阶段: 开始事物 命令入队 事物完成 (批量操作在发送 EXEC 命令前被放入队列缓存).
redies会保持单个事物的原子性,但是如果其中一个事务失败,失败之前的不会回滚,失败之后的还会继续执行。

redies在springboot中的应用

   @RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest()
public class RediesTest {

    private static Logger logger = LoggerFactory.getLogger(RediesTest.class);



    @Autowired
    private RedisTemplate redisTemplate;

   @Autowired
    private StringRedisTemplate stringRedisTemplate;


   /**
   * @Description:  往redies中存储字符串
   * @参数注释:
   * @Return:
   * @Author:  hanlin
   * @Date:
   * @Exception:
   */
    @Test
    public void test() throws Exception {

       // 保存字符串
        stringRedisTemplate.opsForValue().set("aaa", "111");
        Assert.assertEquals("111", stringRedisTemplate.opsForValue().get("aaa"));


        stringRedisTemplate.opsForValue().set("nihao", "你好");
        Assert.assertEquals("你好", stringRedisTemplate.opsForValue().get("nihao"));

}

/**
* @Description:   往redies中存储对象
* @参数注释:
* @Return:
* @Author:  hanlin
* @Date:
* @Exception:
*/
@Test
public void test1() throws Exception {

    User user = new User();
    user.setName("我没有三颗心脏");
    user.setAge(21);

    redisTemplate.opsForValue().set("user_1", user);
    User user1 = (User) redisTemplate.opsForValue().get("user_1");

    System.out.println(user1.getName());
}
/**
* @Description: 往redies中添加集合
* @参数注释:
* @Return:
* @Author:  hanlin
* @Date:
* @Exception:
*/
@Test
public void listPushResitTest() {
    // leftPush依次由右边添加
    stringRedisTemplate.opsForList().rightPush("myList", "1");
    stringRedisTemplate.opsForList().rightPush("myList", "2");
    stringRedisTemplate.opsForList().rightPush("myList", "A");
    stringRedisTemplate.opsForList().rightPush("myList", "B");
    // leftPush依次由左边添加
    stringRedisTemplate.opsForList().leftPush("myList", "0");
}
/**
* @Description:  查询redies中的集合
* @参数注释:
* @Return:
* @Author:  hanlin
* @Date:
* @Exception:
*/
@Test
public void listGetListResitTest() {
    // 查询类别所有元素
    List<String> listAll = stringRedisTemplate.opsForList().range("myList", 0, -1);
    logger.info("list all {}", listAll);
    // 查询前3个元素
    List<String> list = stringRedisTemplate.opsForList().range("myList", 0, 3);
    logger.info("list limit {}", list);
}
/**
* @Description: 在redies中操作map
* @参数注释:
* @Return:
* @Author:  hanlin
* @Date:
* @Exception:
*/
@Test
public void hashPutResitTest() {
    // map的key值相同,后添加的覆盖原有的
    stringRedisTemplate.opsForHash().put("banks:12600000", "a", "b");
}

@Test
public void hashGeDeleteResitTest() {
    // 根据map的key删除这个元素
    stringRedisTemplate.opsForHash().delete("banks:12600000", "c");
}

@Test
public void hashGetKeysResitTest() {
    // 获得map的key集合
    Set<Object> objects = stringRedisTemplate.opsForHash().keys("banks:12600000");
    logger.info("objects:{}", objects);
}

@Test
public void hashGetValueListResitTest() {
    // 获得map的value列表
    List<Object> objects = stringRedisTemplate.opsForHash().values("banks:12600000");
    logger.info("objects:{}", objects);
}

@Test
public void hashSize() { // 获取map对象大小
    long size = stringRedisTemplate.opsForHash().size("banks:12600000");
    logger.info("size:{}", size);
}

redies可视化工具

   可助你更好的玩转redies: 链接:https://pan.baidu.com/s/1rzow9dm_VOUR_cxtEMjtqA 提取码: hufa。(侵删)
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值