说到数据库,可能第一个想到 mysql,其实除了关系型数据库,常见的还有非关系型数
据库,例如今天要说的 redis,由于系统对性能要求的提高,开发对 redis 的使用的
逐渐增多,所以了解非关系型数据库在日常测试中非常重要。
简单而言非关系型数据库就是没有遵循关系代数模式的数据库,也常被人称为
nosql。最最常用的就是 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
了解了 redis 的基本数据类型和基本用法后,我们来说一下 reids 和 mysql
区别,mysql 是关系型数据库,redis 是缓存数据库,redis 一个运行在内存中,
速度快,key values 数据结构不多,mysql 一个是基于磁盘的关系型数据库,适宜复杂数据结构
1.不需要实时更新但是又极其消耗数据库的数据。
2.需要实时更新,但是更新频率不高的数据。
3.在某个时刻访问量极大而且更新也很频繁的数据。但是这种数据使用的缓存
不能和普通缓存一样,这种缓存必须保证不丢失,否则会有大问题。
高并发
分布式缓存服务 Redis 提供超过 10 万的高 QPS,轻松应对高并发访问
灵活扩展
业务爆发时可以通过一键扩容,满足秒杀场景下的访问量增长
数据持久化
自动将数据持久化到磁盘,保障数据安全可靠
我是小巴哥,一个陪你成长,实实在在分享 测试干货职场经验的人,欢迎关注!!!