2,redis只支持String,hashmap,set,sortedset等基本数据类型,但是不支持联合查询,所以它适合做缓存。
3,有时候缓存的数据量非常大,如果这个时候服务宕机了,且开启了redis的持久化功能,重新启动服务,数据基本上不会丢。
4,redis可以做内存共享,因为它可以被多个不同的客户端连接。
5,做为mysql等数据库的缓存,是把部分热点数据先存储到redis中,或第一次用的时候加载到redis中,下次再用的时候,直接从redis中取。
6,redis中的数据可以设置过期时间expire,如果这个数据在一定时间内没有被延长这个时间,那个一定时间之后这个数据就会从redis清除。
所以,redis只是用来缓存数据库中经常被访问的数据,可以增加访问速度和并发量。而mysql只是提供一种数据备份和数据源的作用。
缓存读取流程:1、先到缓存中查数据
2、缓存中不存在则到实际数据源中取,取出来后放入缓存
3、下次再来取同样信息时则可直接从缓存中获取
缓存更新流程:
1、更新数据库
2、使缓存过期或失效,这样会促使下次查询数据时在缓存中查不到而重新从数据库去一次。
通用缓存机制:
1、用查询的方法名+参数作为查询时的key value对中的key值
2、向memcache或redis之类的nosql数据库(或者内存hashmap)插入数据
3、取数据时也用方法名+参数作为key向缓存数据源获取信息
怎么把redis数据库里的数据存到mysql数据库里你先从redis获取数据,然后存到mysql里面不就行了吗? 这跟我们获取一个变量的值存到Mysql里面有什么区别吗?
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)