前言
每天学习一点新东西,今天准备来看看Redis 内部的这些策略,也算是补了前段时间给自己挖的坑(坑在上一篇博客中),这个坑得慢慢的填啊。🙃
内容
- 键过期删除策略
- 内存淘汰策略
说到Spring 的事务,大部分可能都会想到数据库对事务的支持所以才有了Spring 的事务机制,同时通过使用JDBC 的事务管理,那么你就得到了可以在Spring 中使用事务。
使用事务的示例:
1 | Connection conn = DriverManager.getConnection(); |
从上面的示例中,我们就能看出来,事务是一系列的操作的集合,当集合中的某一部操作失败或者失误,那么在这之前的操作要全部回滚,并且终止后边的所有操作,避免出现由于数据不一致导致的一系列的错误。
事务的出现就是为了数据的完整性和一致性,目前在大部分的计算流程中,事务管理都是必不可少的。
消息系统负责将数据从一个应用程序传输到另一个应用程序,因此应用程序可以专注于数据,但不担心如何共享它。 而分布式消息传递是基于可靠消息队列的概念,消息在客户端应用程序和消息传递系统之间异步排队。 有两种类型的消息模式可用 - 一种是点对点,另一种是发布 - 订阅(pub-sub)消息系统。 他们大多数消息模式都遵循 pub-sub 模式。
在点对点系统中,消息被保留在队列中。 一个或多个消费者可以消耗队列中的消息,但是特定消息只能由最多一个消费者消费。 一旦消费者读取队列中的消息,它就从该队列中消失。 该系统的典型示例是订单处理系统,其中每个订单将由一个订单处理器处理,但多个订单处理器也可以同时工作。
在发布 - 订阅系统中,消息被保留在主题中。 与点对点系统不同,消费者可以订阅一个或多个主题并使用该主题中的所有消息。 在发布 - 订阅系统中,消息生产者称为发布者,消息使用者称为订阅者。 一个现实生活的例子是Dish电视,它发布不同的渠道,如运动,电影,音乐等,任何人都可以订阅自己的频道集,并获得他们订阅的频道时可用。
一个阳光明媚的早晨,老婆在翻看我订阅的技术杂志。
“老公,什么是RPC 呀,为什么你们程序员有那么多的黑话!”,老婆还是一如既往的好奇。
“RPC,就是Remote Proceduce Call 的简称呀,翻译成中文就是远程过程调用嘛”,我一边看着书,一边漫不经心的回答着。
“啥,你在说啥》谁不知道翻译成中文是什么意思?你个废柴,快给我去洗碗!”
“我去。。。”,我入门初醒,我对面坐着的可不是一个程序员,为了不去洗碗,我瞬间调动起全部脑细胞,星辰大海在我脑中汇聚,灵感涌现。。。
“是这样,远程过程调用,自然是相对于本地过程调用来说嘛。”
“嗯哼,那先给老娘讲讲,本地调用过程是啥子?”
“本地过程调用,就好比你现在在家里,你想要洗碗,那你直接把碗放进洗碗机,打开洗碗机开关就可以洗了。这就叫本地过程调用。”
“哎呦,我可不干,那啥是远程过程调用?”
“远程嘛,那就是你现在不在家,跟姐妹们浪去了,突然发现碗还没洗,打了个电话过来,叫我去洗碗,这就是远程过程调用”,多么通俗易懂的解释,我真是天才。
“哦!我明白了”,说着,老婆开始收拾包包。
“你这是干啥去哦”
“我?我要出门浪去呀,待会记得接收我得远程调用哦,哦不,咱们要专业点,应该说记得接收我得RPC 哦!”
……
最近几天开始脑子发热准备学习Go 语言了,所以就准备开始写一点东西,所以就下载了GoLand 来写代码了,结果就遇到了问题。
在引包的过程中出现了下载失败的问题,所以就把错误信息拿出来,查了一下,结果就是被墙了。
1 | C:\Users\Vgbh>go get -v gopkg.in/fatih/pool.v2 |