redis三种常用高效缓存读写策略是什么(2)
导读:redis三种常用高效缓存读写策略是什么,旁路缓存示例代码 import java.util.HashMap;import java.util.Map;public class CacheAsideExample { // 模拟缓存 private static MapString, String> cache = new HashMap>(); // 模拟数据库或数
redis三种常用高效缓存读写策略是什么
旁路缓存示例代码
import java.util.HashMap;
import java.util.Map;
public class CacheAsideExample {
// 模拟缓存
private static Map<String, String> cache = new HashMap<>();
// 模拟数据库或数据源
private static Map<String, String> dataSource = new HashMap<>();
// 从缓存中获取数据
public static String getDataFromCache(String key) {
return cache.get(key);
}
// 从数据源中获取数据
public static String getDataFromDataSource(String key) {
return dataSource.get(key);
}
// 将数据存入缓存
public static void putDataIntoCache(String key, String value) {
cache.put(key, value);
}
// 删除缓存中的数据
public static void deleteDataFromCache(String key) {
cache.remove(key);
}
// 从数据源中加载数据,并存入缓存
public static String loadData(String key) {
String data = getDataFromDataSource(key);
if (data != null) {
putDataIntoCache(key, data);
}
return data;
}
public static void main(String[] args) {
// 设置数据源
dataSource.put("key1", "value1");
dataSource.put("key2", "value2");
// 从缓存中获取数据,如果不存在则从数据源中加载
String data1 = getDataFromCache("key1");
if (data1 == null) {
data1 = loadData("key1");
}
System.out.println("Data1: " + data1);
// 从缓存中获取数据,如果不存在则从数据源中加载
String data2 = getDataFromCache("key2");
if (data2 == null) {
data2 = loadData("key2");
}
System.out.println("Data2: " + data2);
// 删除缓存中的数据
deleteDataFromCache("key1");
// 从缓存中获取数据,如果不存在则从数据源中加载
String data3 = getDataFromCache("key1");
if (data3 == null) {
data3 = loadData("key1");
}
System.out.println("Data3: " + data3);
}
}
读写穿透(Read/Write Through Pattern)
读写穿透策略将 Redis/Memcached 视为数据存储的主要地方,也就是说将缓存充当原本的数据库,利用 Cache 服务负责将数据读取并写入数据库(MySQL、Oracle等)。
写操作流程
1、先查询缓存,缓存不存在,更新数据库
2、缓存存在,先更新缓存,利用 Cache 服务同步更新数据库。
读操作流程
1、从缓存读取数据,读取到返回
2、缓存读取不到,从数据库加载后写入缓存并返回。
和旁路缓存相反,读写穿透,主缓存从数据库。
异步缓存写入(Write Behind Pattern)
只更新缓存,不利用 Cache 服务更新数据库,可以利用消息队列,先存放要消费的信息,然后可以异步批量的更新数据库,一般不使用,但数据库的缓冲池机制是这种策略的一个实现,
相关阅读
-
网页设计网站制作流程 百度网页的制作过程
文章摘要:网页设计网站制作流程和百度网页的制作过程方面的内容,下面来一起了解一下吧。 受互联网的影响使实体店越来越难,为适应时代,企业将由线下转向线上拓展业务。下面知网科
-
优化SPF计算的措施有哪些? 优化SPF计算的方法有哪些?
小编带来的是优化SPF计算的措施有哪些的相关话题,接下来IT袋网带大家一起了解。 为了进一步提高OSPF的性能,可以考虑一些优化措施: 基于事件的计算 传统的OSPF在固定时间间隔进行SPF计算
-
什么是BGP VRF
跟大家说一说什么是BGP的方法内容,一起跟随小编看看吧! BGP VRF(边界网关协议虚拟路由和转发)是一种 BGP 功能,用于在多租户或多 VRF 环境中提供更精细的路由控制和通告。 这种功能使得
-
线程的五种状态 五种线程状态:了解并管理线程的状态转换
为大家介绍的是线程的五种状态的电脑小知识,接下来IT袋网小编就来介绍。 五种状态的说法来自于操作系统层面的划分 运行态 :分到 cpu 时间,能真正执行线程内代码的 就绪态 :有资格分


