Redis基础简介(一)

导读:本篇文章讲解 Redis基础简介(一),希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

Redis基础简介

为什么使用Redis?

随着互联网的快速发展,传统的关系型数据库如Mysql已经不能适⽤所有的场景了,⽐如秒杀的库存扣减,APP⾸⻚的访问流量⾼峰等等,都很容易把数据库打崩,所以引⼊了缓存中间件,⽬前市⾯上⽐较常⽤的缓存中间件有Redis 和 Memcached 不过中和考虑了他们的优缺点,最后选择了Redis。

Redis有哪些数据结构?
常用五种: 字符串String、字典Hash、列表List、集合Set、有序集合SortedSet。(HyperLogLog、Geo、Pub/Sub。)

  • Redis 哈希(Hash)
    -Redis hash 是一个 string 类型的 field(字段) 和 value(值) 的映射表,hash 特别适合用于存储对象。

首先,我们从作用上理解hash存在的意义:Redis hash 是一个 string 类型的 field 和 value
的映射表,hash 特别适合用于存储对象。从另一个方面来说是,hash可以聚合很多类似的属性,这是string中难以实现的。

hset 设置单个 field -> value ;hmset 批量添加元素 ;hget 获取某字段值
hmget 批量获取值 ;hgetall 获取所有hash的kv ;hincrby 增加x某字段;hdel 删除某字段

如何进行存储获取
看下源码实现

    public boolean hset(String key, String item, Object value) {
        try {
            this.redisTemplate.opsForHash().put(key, item, value);
            return true;
        } catch (Exception var5) {
            var5.printStackTrace();
            return false;
        }
    } ```

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

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

如果有⼤量的key需要设置同⼀时间过期,⼀般需要注意什么?
如果⼤量的key过期时间设置的过于集中,到过期的那个时间点,redis可能会出现短暂的卡顿现象。严重的话会出现缓存雪崩,我们⼀般需要在时间上加⼀个随机值,使得过期时间分散⼀些。

电商⾸⻚经常会使⽤定时任务刷新缓存,可能⼤量的数据失效时间都⼗分集中,如果失效时间⼀样,⼜刚好在失效的时间点⼤量⽤户涌⼊,就有可能造成缓存雪崩

Redis是怎么持久化的?

  1. RDB 快照 将某一时刻的所有数据写入硬盘中
  2. AOF 日志 记录服务器的写操作 每次重启服务器会执行这些命令来恢复数据

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/83593.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!