1、为什么用redis
(1) 提升数据的响应速度
(2) 减轻关系型数据库的压力
Redis的执行流程
当用户要来操作数据时直接连接数据库进行查询然后展示,相同的数据也需要再进行数据库的查询,对于大数据量的并发访问,会给数据造成距大的压力。
为了减轻数据库的压力,使用了这种非关系型数据库(nosql数据库)redis
当用户第一次访问时,首先访问redis,redis中如果没有数据再去查询数据库,当查询完数据库后,先将数据存放到redis中,然后再返回给用户。
当用户第二次访问的时候还是去访问redis,此时redis中有数据,这时就不需要再次去查询数据库了。
第一次查询,此时redis中有了数据,如果对DB中的数据产生了更新
第二次查询的时候以为redis中已经有了数据,那么就会直接返回,但是问题发生了,db与redis中的数据不同步
此时需要清除redis中的数据
当数据库发生数据改变的时候清空redis
这就是缓存同步:解决nosql数据库与关系型数据库不同步的问题
Redis有五种数据类型
String key value 有一种特殊的写法可以实现数据的分类使用冒号分隔
Clothes:裤子 100
Clothes:风衣 100
Hash key field value key后面跟了个map map中是field value 完成数据归类的操作 存值hset key field value 取值hget key field
List 有序 数据可重复
右压栈–以中心点的位置向右添加 rpush lrange key 0 -1取所有
左压栈–以中心点的位置向左添加 lpush