
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
缓存技术的应用在许多软件编程开发项目中是会经常遇到的一个编程技术,而本文我们就通过案例分析来简单了解一下,缓存服务概念与应用分析。
在互联网分层架构中,常用的kv结构的缓存是redis。他有如下特点:
1、它支持复杂数据结构
value是字符串、哈希,列表,集合,有序集合这类复杂的数据结构。支持各种场景,如客户订单信息列表,用户消息,帖子评论等。
2、支持持久化
redis的所有数据都是保存在内存中,然后不定期的通过异步方式保存到磁盘上(这称为“半持久化模式”);
也可以把每一次数据变化都写入到一个appendonlyfile(aof)里面(这称为“全持久化模式”,效率会低一点)。
但是我们尽量不要把redis当作数据库用,如果真的需要持久化数据,建议可以走MySQL:
2.1、redis的定期快照不能保证数据不丢失
2.2、redis的AOF会降低效率,并且不能支持太大的数据量
3、具备高可用特性
redis天然支持集群功能,可以实现主动复制,读写分离。官方也提供了sentinel集群管理工具,能够实现主从服务监控,故障自动转移。
4、存储的内容比较大
String类型:一个String类型的value大可以存储512M,List、Set、Hash类型:list的元素个数多为2^32-1个,也就是4294967295个。
5、支持事务
操作都是原子性,对数据的更改要么全部执行,要么全部不执行。避免业务数据的不一致性。
缓存使用注意
1、Web服务单体模式转为多实例之后,我们将进程缓存升级为缓存服务(redis),清清理了所有的缓存使用,都改成了对接redis。但是有一些地方漏掉,因为我们有3个实例,所以漏掉的那几个地方,一旦修改某个数据之后,一会儿是新值,一会儿旧值,很神奇。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加danei456学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。