当前位置: 首页 > news >正文

太平建设公司官方网站网络销售每天做什么

太平建设公司官方网站,网络销售每天做什么,个人网站推广app,做自行车车队网站的名字1、缓存使用 为了系统性能的提升#xff0c;我们一般都会将部分数据放入缓存中#xff0c;加速访问。而 db 承担数据落盘工作。 哪些数据适合放入缓存#xff1f;  即时性、数据一致性要求不高的  访问量大且更新频率不高的数据#xff08;读多#xff0c;写少我们一般都会将部分数据放入缓存中加速访问。而 db 承担数据落盘工作。 哪些数据适合放入缓存  即时性、数据一致性要求不高的  访问量大且更新频率不高的数据读多写少 举例电商类应用商品分类商品列表等适合缓存并加一个失效时间(根据数据更新频率来定)后台如果发布一个商品买家需要 5 分钟才能看到新的商品一般还是可以接受的 data cache.load(id);//从缓存加载数据 If(data null){ data db.load(id);//从数据库加载数据 cache.put(id,data);//保存到 cache 中 } return data;注意在开发中凡是放入缓存中的数据我们都应该指定过期时间使其可以在系统即使没有主动更新数据也能自动触发数据加载进缓存的流程。避免业务崩溃导致的数据永久不一致问题。 2、springboot整合redis(StringRedisTemplate) AutowiredStringRedisTemplate stringRedisTemplate;Testpublic void testStringRedisTemplate(){ValueOperationsString, String ops stringRedisTemplate.opsForValue();ops.set(hello,world_ UUID.randomUUID().toString());String hello ops.get(hello);System.out.println(hello);} 3、缓存使用-改造三级分类业务 缓存穿透缓存击穿缓存雪崩 4、分布式锁setnx 优化一过期时间(解决不释放锁导致死锁问题 优化二过期时间和加锁同步setexnx解决加锁原子性问题 优化三redislua脚本解决删锁原子性问题 /*** 分布式锁* lua脚本* return*/public MapString, ListCatelog2Vo getCatelogJsonFromDBWithRedisLock() {// 1.占分布式锁 设置这个锁10秒自动删除 [原子操作]String uuid UUID.randomUUID().toString();Boolean lock stringRedisTemplate.opsForValue().setIfAbsent(lock, uuid, 30, TimeUnit.SECONDS);if (lock) {// 2.设置过期时间加锁成功 获取数据释放锁 [分布式下必须是Lua脚本删锁,不然会因为业务处理时间、网络延迟等等引起数据还没返回锁过期或者返回的过程中过期 然后把别人的锁删了]MapString, ListCatelog2Vo data;try {data getDataFromDB();} finally { // stringRedisTemplate.delete(lock);String lockValue stringRedisTemplate.opsForValue().get(lock);// 删除也必须是原子操作 Lua脚本操作 删除成功返回1 否则返回0String script if redis.call(get,KEYS[1]) ARGV[1] then return redis.call(del,KEYS[1]) else return 0 end;// 原子删锁stringRedisTemplate.execute(new DefaultRedisScript(script, Long.class), Arrays.asList(lock), uuid);}return data;} else {// 重试加锁try {// 登上两百毫秒Thread.sleep(50);} catch (InterruptedException e) {e.printStackTrace();}return getCatelogJsonFromDBWithRedisLock();}}5、redisson分布式锁 ResponseBodyRequestMapping(/index/hello)public String hello() {RLock lock redissonClient.getLock(my-lock);// 阻塞式等待lock.lock();try {Thread.sleep(2000);} catch (InterruptedException e) {e.printStackTrace();} finally {lock.unlock();}return hello;}6、双写一致性与延迟双删 双写一致性 双写一致性的解决方案一可以在修改数据的方法加锁就是每次只允许一个线程去修改数据库这样就保证了Mysql和redis数据的一致性 双写一致性的解决方案二给redis设置过期时间过期后就会去Mysql查最新的数据保证最终数据一致 失效模式 延迟双删 延时双删的方案的思路是为了避免更新数据库的时候其他线程从缓存中读取不到数据就在更新完数据库之后再sleep一段时间然后再次删除缓存。 sleep的时间要对业务读写缓存的时间做出评估sleep时间大于读写缓存的时间即可。 流程如下 1、线程1删除缓存然后去更新数据库 2、线程2来读缓存发现缓存已经被删除所以直接从数据库中读取这时候由于线程1还没有更新完成所以读到的是旧值然后把旧值写入缓存 3、线程1根据估算的时间sleep由于sleep的时间大于线程2读数据写缓存的时间所以缓存被再次删除 4、如果还有其他线程来读取缓存的话就会再次从数据库中读取到最新值 消息队列 这是网上很多文章里都有写过的方案。但是这个方案的缺陷会更明显一点。 先更新数据库成功后往消息队列发消息消费到消息后再删除缓存借助消息队列的重试机制来实现达到最终一致性的效果。 import redis.clients.jedis.Jedis;public class DelayedDoubleDeleteExample {private static final int DELAY_TIME 1000; // 延迟双删时间单位毫秒// 模拟数据库private static String database Original Data;// 模拟缓存private static Jedis cache new Jedis(localhost, 6379);public static void main(String[] args) throws InterruptedException {// 初始化缓存cache.set(key, database);// 更新数据updateDataInDatabase(Updated Data);Thread.sleep(DELAY_TIME); // 等待延迟双删时间// 获取数据String data getData(key);System.out.println(Data: data);}private static void updateDataInDatabase(String newData) {// 先更新数据库database newData;// 再删除缓存cache.del(key);System.out.println(Cache deleted);}private static String getData(String key) {// 先从缓存读取数据String data cache.get(key);if (data null) {// 缓存不存在从数据库读取最新数据data database;// 将数据写入缓存cache.set(key, data);System.out.println(Cache updated);}return data;} } 7、Cannal
http://www.w-s-a.com/news/239453/

相关文章:

  • 天津公司网站建设公司哪家好在阿里巴巴国际网站上需要怎么做
  • 网站关键词seo推广公司哪家好无锡市无锡市住房和城乡建设局网站
  • 开远市新农村数字建设网站网站如何做QQ登录
  • 自己做个网站教程高端网站开发哪家强
  • 网站模板免费下载中文版大连网站建设哪家专业
  • 网站建设的基本代理公司注册公司坑人
  • 企业网站被黑后如何处理wordpress邮件发送类
  • 北京网站的网站建设公司建设工程竣工验收消防备案网站
  • 淄博市 网站建设报价wordpress里的发消息给我
  • 网站下拉菜单怎么做游戏网站模板免费下载
  • 阿里云上做网站套模板怎么做一个网站开发小组
  • 营销型网站源码下载青岛做网站建设的公司哪家好
  • 迁西网站定制怎么制作网址内容
  • 深圳装饰公司网站宁波网站建设哪里有
  • 建站网站破解版怎么看自己的网站是用什么做的
  • 做微商那个网站好织梦模板更新网站
  • 网站注册表单怎么做手机做网站需要多少天
  • 书店商城网站html模板下载企业网站建设方案书范文
  • 建设网站是普通办公吗快速排名seo软件
  • 大型外贸网站建设网站建设图片尺寸要求
  • 网站建设可信赖北京网站开发月薪
  • 专门做lolh的网站wordpress 模版 cho's
  • 网上做设计兼职哪个网站好点网站开发毕业周记
  • 自学商城网站建设无为网页定制
  • wordpress全站cdn手机网站调用分享
  • 淄博做网站58同城wordpress微信号订阅
  • 不同的网站 做301公共资源交易中心是干嘛的
  • 36 氪 网站如何优化怎么优化自己的网站
  • 网站兼容问题湖北网站建设优化
  • 2018新网站做外链app制作的网站