1.mysql是数据库,redis是数据库,那么什么时候使用应该使用哪种数据库?
redis做缓存是为了缓解mysql的压力,在数据库表数据量上千万,并且访问频繁时,mysql压力增大,在有索引的情况下依旧效果不佳,需要使用redis,比如可将购物网站的热点数据提前放到redis当中。但redis是内存存储,如订单信息等需要持久化的数据不能放到redis中。
缓存如何规划,key value取决于业务本身,即数据结构+算法。需根据业务结构选取合适的数据结构存放到redis中。
2.mysql查询底层逻辑。
mysql会将索引文件加载到内存中,索引类似字典目录。索引以B+树的方式组织起来,存放到内存中,而redis查询以key value,类似map,直接通过key获取而不用逐层查找。
3.举例redis数据结构使用场景。
如string,可以存放短信验证码/登录验证码,点赞。
如hash,可做对象缓存。
如list,可存操作记录。
4.计组: 内存和磁盘的区别,读写性能,查询性能。
内存断电数据会丢失,磁盘是持久化存储,不会因断电丢失,mysql的数据也是持久化磁盘中。
内存读写速度远远快于磁盘IO。
var code = "ac71ef34-db32-4d6f-8894-ebe3f37ac0bc"