cache 本地&分布式(-redis) & JSON对象转换
本地缓存
最简单的cache, 做一个map就行
private final Map<String,List<User>> cache=new HashMap<>();
@Override
public List<User> queryUserList() {
List<User> userlist = cache.get("userlist");
if(userlist==null){
List<User> users = userMapper.queryUserList();
cache.put("userlist",users);
return users;
}
return cache.get("userlist");
}
本地缓存在分布式情况下的缺点
1.多加载(浪费空间)
2.数据一致性问题
分布式缓存: 利用redis
RedisTemplate<object,object>
StringRedisTemplate<String,String> (使用)
将需要存的对象转为json存入redis
@Autowired
StringRedisTemplate redisTemplate; // private final Map<String,List<User>> cache=new HashMap<>();
@Override
public List<User> queryUserList() {
String userlist = redisTemplate.opsForValue().get("userlist");
if(userlist==null){
List<User> users = userMapper.queryUserList();
String s = JSON.toJSONString(users);
redisTemplate.opsForValue().set("userlist",s);
return users;
}
List<User> users = JSON.parseObject(userlist, new TypeReference<List<User>>() {
});
return users;
}
redisTemplate.opsForList().leftPushAll(key, skuIds); //从左边依次放整个集合 List<String> skuIds
// 绑定秒杀商品hash 之后要保存什么就直接用 operations去操作就行
BoundHashOperations<String, Object, Object> operations = redisTemplate.boundHashOps("seckill:skus"); if (!operations.hasKey(skuKey)) String jsonString = JSONObject.toJSONString(redisTo);
operations.put(skuKey, jsonString); //两个str
cache 本地&分布式(-redis) & JSON对象转换的更多相关文章
- 前台 JSON对象转换成字符串 相互转换 的几种方式
在最近的工作中,使用到JSON进行数据的传递,特别是从前端传递到后台,前台可以直接采用ajax的data函数,按json格式传递,后台Request即可,但有的时候,需要传递多个参数,后台使用requ ...
- json字符串转换成json对象,json对象转换成字符串,值转换成字符串,字符串转成值
一.json相关概念 json,全称为javascript object notation,是一种轻量级的数据交互格式.采用完全独立于语言的文本格式,是一种理想的数据交换格式. 同时,json是jav ...
- JSON对象转换成JSON字符串
1.问题背景 有一个json对象,需要将其转换成json字符串 JSON.stringify(obj) 2.实现源码 <!DOCTYPE html PUBLIC "-//W3C//DT ...
- json字符串转json对象,json对象转换成java对象
@RequestMapping(value = "updateInvestorApplyAccountNo", method = RequestMethod.POST) @Resp ...
- function的json对象转换字符串与字符串转换为对象的方法
// json对象转换成字符串var str = JSON.stringify(json, function(key, val) { if (typeof val === 'function') { ...
- jquery json对象转换
jquery json对象转换 <pre>//json数组转json串var arr = [1,2,3, { a : 1 } ];JSON.stringify( arr ); //json ...
- json字符串转成 json对象 json对象转换成java对象
import com.alibaba.fastjson.JSONArray;import com.alibaba.fastjson.JSONObject; 依赖包 <dependency> ...
- gson和fastjson将json对象转换成javaBean 简单对照
今天在网上看代码时,发现项目使用了Gson,用于将json字符串转换成javaBean. 以前没使用过Gson,随即,简单入了个们, 想起fastjson也有将json字符串转换成javaBean的A ...
- json字符串与json对象转换
从网上找的几种常用的转换方法,测试结果如下: 1.json字符串——>json对象 /* test 1 */ var str = '{"a":1,"b": ...
- json对象转换
String modules =...; //json格式的String对象 //String对象转换为JSON格式数组 JSONArray moduleArr=JSONObject.parseArr ...
随机推荐
- 人工智能自然语言处理:N-gram和TF-IDF模型详解
人工智能自然语言处理:N-gram和TF-IDF模型详解 1.N-gram 模型 N-Gram 是一种基于统计语言模型的算法.它的基本思想是将文本里面的内容按照字节进行大小为 N 的滑动窗口操作,形成 ...
- 2.5 CE修改器:寻找数值指针
上一步阐述了如何使用代码替换功能对付变化位置的数据地址,但这种方法往往不能达到预期的效果,所以我们需要学习如何利用指针,在本关的Tutorial.exe窗口下面有两个按钮,一个会改变数值,另一个不但能 ...
- 构建Keepalived高可用集群
Keepalived的作用是检测服务器的状态,如果有一台web服务器宕机或工作出现故障,Keepalived将检测到,并将有故障的服务器从系统中剔除,同时使用其他服务器代替该服务器的工作,当服务器工作 ...
- python list 转二叉树 及遍历
from __future__ import annotations from typing import Union from collections import deque class Tree ...
- hadoop-3.0.0-cdh6.3.2源码编译实践
1.编译过程 参考:https://blog.mygallop.cn/2020/10/centos/hadoop-cdh6-compile/ 2.问题记录 CDH6.3.2 Hadoop源码位置发生变 ...
- 基于minsit数据集的图像分类任务|CNN简单应用项目
Github地址 Image-classification-task-based-on-minsit-datasethttps://github.com/Yufccode/CollegeWorks/t ...
- 在Windows下编译Saba
今天写一篇环境配置的博客,感觉这种博客比较好写 Saba是一个用于加载MMD(MikuMikuDance)模型.动作文件的C++库.下面我们在Windows下编译这个库.为了在Windows下 ...
- 小知识:MAC上使用预览功能来减小PDF大小
工作中有些流程会用到PDF电子扫描件,当身边没有扫描设备时,通常会用手机拍照然后合成PDF. 有一个问题是:合成的PDF文件很大,甚至远大于照片本身大小.比如照片是4M的,合成的PDF文件就基本要30 ...
- delphi 调试 原来可以这样 复制,不用点开 才能复制 对象的值
- ASP.NET Core分布式项目实战(Consent 确认逻辑实现)--学习笔记
任务22:Consent 确认逻辑实现 接下来,我们会在上一节的基础上添加两个按钮,同意和不同意,点击之后会把请求 post 到 ConsentController 处理,如果同意会通过 return ...