前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >31-redis

31-redis

作者头像
zx钟
发布2021-08-23 16:45:44
2310
发布2021-08-23 16:45:44
举报
文章被收录于专栏:测试游记测试游记

最开始使用memcache做缓存数据库,但是它不能进行数据持久化,而是放在内存中

  • 持久化:把数据存储在磁盘上
  • 内存中的数据的特点:一旦断电,数据就会丢失

使用redis做缓存数据库,可以把数据存在内存中,加快我们读取数据的速度,同时,它可以定时去同步数据到磁盘,进行内存数据持久化。它还有个重大优势:缓存数据库之间可以自动同步

功能强大,但是比较复杂,所以在使用过程中也存在一定的问题。

性能测试人员需要了解redis的使用,原理,存在的问题,发现问题,如何给出调优建议。

redis介绍

  • 非关系性数据库「Nosql」「Not only sql」
  • key-value形式的非关系性数据库。一个key,对应value

非关系型数据库

  • 没有声明查询语言
  • 没有预定义的模型
  • 非机构化,不可预知的数据
  • 高性能,高可用性,高可伸缩性

NoSQL分类

  • 列存储:Hbase
  • 文档存储:Mongodb
  • key-value存储:redis

value的类型

典型的有五种

  • 字符串
  • 列表
  • 哈希
  • 集合
  • 有序集合

doctor安装redis

docker run -itd --name you_redis_name -p 6379:6379 redis redis-server --appendonly yes

连接redis

RemoteDictionaryServer(Redis)

https://gitee.com/qishibo/AnotherRedisDesktopManager/releases

redis连接

常用操作

查看redis的所有配置参数

在客户端模式下执行

config get *
config set key value

插入数据

字符串
set strkey value
get strkey

字符串

列表
lpush listkey zhongxin
lpush listkey 测试游记
lrange listkey 0 1

列表

哈希
hset hxkey filed1 hashvalue1 filed2 hashvalue
hget hxkey filed2

哈希

集合

sadd zsetkey 1 redis
smembers zsetkey

集合

自带性能测试工具

redis-benchmark -n 10000 -q

命令

redis穿透、雪崩、击穿

穿透

key查不到(例如 id为负数),去存储层数据库中获取,失去了缓存意义

解决办法:程序层做逻辑检查

雪崩

redis缓存数据库中大量的key在同一时间失效,请求这些key获取不到数据,从而去获取更底层的DB数据库

解决办法:设置key失效时间随机

击穿

持续长时间大并发请求某一个热点key,在key失效的瞬间,就突破了缓存

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-08-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 测试游记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • redis介绍
    • 非关系型数据库
      • NoSQL分类
        • value的类型
        • doctor安装redis
        • 连接redis
        • 常用操作
          • 查看redis的所有配置参数
            • 插入数据
              • 字符串
              • 列表
              • 哈希
            • 集合
            • 自带性能测试工具
            • redis穿透、雪崩、击穿
              • 穿透
                • 雪崩
                  • 击穿
                  相关产品与服务
                  对象存储
                  对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
                  领券
                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档