一、认识:
①、Redis是高性能的key-value数据库,它支持存储的value类型包括string(字符串)、list、set(集合)、zset(sorted set--有序集合)和hash(哈希类型),它提供了Java,C/C++,python等客户端;
②、Redis支持主从同步,数据可以从主服务器向任意数量的从服务器同步;
③、Redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件;
二、配置:
三、启动命令:
四、工作原理:
1、增删改业务-公司大多走Nginx-tomcat-db(原因,如果Redis提前挂了的话,Redis没有数据,db也没有数据,这样用户的数据就丢失了,损失较大)
2、查询业务:
2.1、走Nginx-tomcat-Redis去Redis查询用户数据,如果查询到,则在按照当前路径返回
2.2、走Nginx-Tomcat-Redis去Redis查询用户数据,查询不到时去db查询(张三从未注册账号,查不到),从db查询到,则db-Tomcat-Nginx返回,返回结果是db查询到的结果,同时把查询到的数据存储到Redis中;如果在db查询不到,则原路径返回,返回结果是null,同时,把查询到的db数据存储到Redis中。
总结:Redis的存在,降低的db的部分负载
五、面试题:
1、如何确保db和Redis数据不一致问题
①、Redis里面key设置过期时间,如10s
②、公司业务、市场人员尽量不要在大促期间在管理后台修改db数据