本地缓存

最简单的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对象转换的更多相关文章

  1. 前台 JSON对象转换成字符串 相互转换 的几种方式

    在最近的工作中,使用到JSON进行数据的传递,特别是从前端传递到后台,前台可以直接采用ajax的data函数,按json格式传递,后台Request即可,但有的时候,需要传递多个参数,后台使用requ ...

  2. json字符串转换成json对象,json对象转换成字符串,值转换成字符串,字符串转成值

    一.json相关概念 json,全称为javascript object notation,是一种轻量级的数据交互格式.采用完全独立于语言的文本格式,是一种理想的数据交换格式. 同时,json是jav ...

  3. JSON对象转换成JSON字符串

    1.问题背景 有一个json对象,需要将其转换成json字符串 JSON.stringify(obj) 2.实现源码 <!DOCTYPE html PUBLIC "-//W3C//DT ...

  4. json字符串转json对象,json对象转换成java对象

    @RequestMapping(value = "updateInvestorApplyAccountNo", method = RequestMethod.POST) @Resp ...

  5. function的json对象转换字符串与字符串转换为对象的方法

    // json对象转换成字符串var str = JSON.stringify(json, function(key, val) { if (typeof val === 'function') { ...

  6. jquery json对象转换

    jquery json对象转换 <pre>//json数组转json串var arr = [1,2,3, { a : 1 } ];JSON.stringify( arr ); //json ...

  7. json字符串转成 json对象 json对象转换成java对象

    import com.alibaba.fastjson.JSONArray;import com.alibaba.fastjson.JSONObject; 依赖包 <dependency> ...

  8. gson和fastjson将json对象转换成javaBean 简单对照

    今天在网上看代码时,发现项目使用了Gson,用于将json字符串转换成javaBean. 以前没使用过Gson,随即,简单入了个们, 想起fastjson也有将json字符串转换成javaBean的A ...

  9. json字符串与json对象转换

    从网上找的几种常用的转换方法,测试结果如下: 1.json字符串——>json对象 /* test 1 */ var str = '{"a":1,"b": ...

  10. json对象转换

    String modules =...; //json格式的String对象 //String对象转换为JSON格式数组 JSONArray moduleArr=JSONObject.parseArr ...

随机推荐

  1. 从github上下载代码到本地

    相关链接: 码云(gitee)配置SSH密钥 码云gitee创建仓库并用git上传文件 git 上传错误This oplation equires one of the flowi vrsionsot ...

  2. Python 提取图片中的GPS信息

    JPG图片中默认存在敏感数据,例如位置,相机类型等,可以使用Python脚本提取出来,加以利用,自己手动拍摄一张照片,然后就能解析出这些敏感数据了,对于渗透测试信息搜索有一定帮助,但有些相机默认会抹除 ...

  3. C/C++ 提权与强制卸载DLL

    权限提升 #include <Windows.h> #include <stdio.h> BOOL SetPrivilege(LPCTSTR lpszPrivilege, BO ...

  4. Windows开机自动同步时间

    前言   有些Windows客户端因主板电池没电或其他原因,每次启动系统后,读取到BIOS的时间是初始时间(1970年)或错误的时间,这时需要系统启动后立即向时间服务器同步一次时间.   该方法是添加 ...

  5. 3、Web前端学习规划:CSS - 学习规划系列文章

    CSS作为Web前端开发的第2种重要的语言,笔者建议在学了HTML之后进行.CSS主要是对于HTML做一个渲染,其也带了一些语言语法函数,功能也非常强大. 1. 简介: CSS(层叠样式表)是一种用于 ...

  6. OpenGL的模板缓冲

      注意看,利用OpenGL的模板缓冲,可以轻松实现很多酷炫的效果.当然,它用起来也很简单.下面就跟着博主小编,一起来看看吧! 模板缓冲的使用   假设有个大小为800x600的窗口,那么模板缓冲也是 ...

  7. (python)代码学习||2024.2.3||题目是codewars上的【Validate Sudoku with size `NxN`】

    题目的要求是写一个Sudoku类,类中要有一个实例函数判断传给对象的二维数组是否符合数独规则 题目链接:https://www.codewars.com/kata/540afbe2dc9f615d5e ...

  8. Linux 中通过虚拟地址获取物理地址并锁定

    在 Linux 开发过程中,申请内存后,某些时候需要用物理地址传给其他外设进行写入或者读取操作,同时考虑到防止被操作系统 sawp,导致实际的物理地址发生变化,从而在操作对应的虚拟地址时无法正常运行等 ...

  9. Python-pymysql如何向SQL语句中传参

    方法一:不传递参数 ## 方式一.不传递参数 id = "01" name = "语文" sql = "select * from course wh ...

  10. CF1834

    A 给出一个由 \(1,-1\) 组成的序列.一次操作可以让一个数变相反. 要多少次操作,才能让整个序列和非负且积等于 \(1\). 大 氵题. B 定义两个数 \(A,B\) 有一个价值:每一位上的 ...