写在前面
说到数据库,可能第一个想到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,轻松应对高并发访问
灵活扩展
业务爆发时可以通过一键扩容,满足秒杀场景下的访问量增长
数据持久化
自动将数据持久化到磁盘,保障数据安全可靠
写在最后
我是小巴哥,一个陪你成长,实实在在分享 测试干货职场经验的人,欢迎关注!!!