职业经验 测试开发 - 一天一个面试题之今天说说 redis

小巴哥 · 2023年02月09日 · 2876 次阅读

写在前面

说到数据库,可能第一个想到 mysql,其实除了关系型数据库,常见的还有非关系型数
据库,例如今天要说的 redis,由于系统对性能要求的提高,开发对 redis 的使用的
逐渐增多,所以了解非关系型数据库在日常测试中非常重要。

概念

简单而言非关系型数据库就是没有遵循关系代数模式的数据库,也常被人称为
nosql。最最常用的就是 redis。

redis 数据类型

redis 数据类型有五种,包括:1.string 2.hash 3.list 4.set 5.zset

各类型之间的区别
string
    类似Java中的map ,key valuses 结构
    读 get key
    增 set key value
    删 del
hash
    一个 key 对应一个 value
    读hget key
    写 hset key value
    删 hdel
list
    简单的字符串列表,按照插入顺序排序
    读 lrange mylist 0 1
    写
        插入头部 lpush mylist "0"
        插入尾部 rpush mylist "0"
    删 lpop 
set
    字符串类型的无序集合
     读 smembers myset
    写 sadd myset "one"
    删 srem
zset
    与set 相同点: 字符串类型元素的集合,并且集合内的元素不能重复。
    zset 每个元素都会关联一个 double 类型的分数,redis 通过分数来为集合中的成员进行从小到大的排序。
    写  zadd 
    读  zrange
    删 zrem

reids 和 mysql 区别

了解了 redis 的基本数据类型和基本用法后,我们来说一下 reids 和 mysql
区别,mysql 是关系型数据库,redis 是缓存数据库,redis 一个运行在内存中,
速度快,key values 数据结构不多,mysql 一个是基于磁盘的关系型数据库,适宜复杂数据结构

缓存的使用场景

1.不需要实时更新但是又极其消耗数据库的数据。
2.需要实时更新,但是更新频率不高的数据。
3.在某个时刻访问量极大而且更新也很频繁的数据。但是这种数据使用的缓存
不能和普通缓存一样,这种缓存必须保证不丢失,否则会有大问题。

缓存的优势

高并发
分布式缓存服务 Redis 提供超过 10 万的高 QPS,轻松应对高并发访问
灵活扩展
业务爆发时可以通过一键扩容,满足秒杀场景下的访问量增长
数据持久化
自动将数据持久化到磁盘,保障数据安全可靠

写在最后

我是小巴哥,一个陪你成长,实实在在分享 测试干货职场经验的人,欢迎关注!!!

暂无回复。
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册