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

阿里云建设网站怎样建设商城网站

阿里云建设网站,怎样建设商城网站,做网站 用asp,网站制作自己目录一#xff1a;背景介绍二#xff1a;redis1#xff09;redis数据类型①String#xff08;字符串#xff09;②Hash#xff08;哈希#xff09;③List#xff08;列表#xff09;④Set#xff08;集合#xff09;2)缓存同步①设置有效期②同步双写③异步通知3背景介绍二redis1redis数据类型①String字符串②Hash哈希③List列表④Set集合2)缓存同步①设置有效期②同步双写③异步通知3key的过期时间具体设置方式三问题分析过程四总结五升华一背景介绍 此案例是通过Reids查询该课程下所有的班级信息如果从reids中没有查询到数据那么就会从数据库中查询并把查询到的数据存入到redis中。 存在的问题没有再更新课程下的班级数据时删除缓存这样会导致如果更新了该课程下的班级数据那么缓存中的数据和数据中的数据出现不一致的情况。 二redis 1redis数据类型 redis支持五种数据类型string字符串、hash哈希、list列表、set集合 ①String字符串 string是redis最基本的类型可以理解成与Memcached一模一样的类型一个key对应一个value。redis的string可以包含任何数据比如jpg图片或者序列化的对象。 redis 127.0.0.1:6379 SET runoob Hello OK redis 127.0.0.1:6379 GET runoob Hello以上实例我们使用了Redis的SET和GET命令键为runoob对应的值为Hello ②Hash哈希 Redis hash是一个键值keyvalue对集合是一个string类型的field和value的映射表用于存储对象 DEL runoob用于删除前面测试用过的key不然会报错(error) WRONGTYPE Operation against a key holding the wrong kind of value redis 127.0.0.1:6379 DEL runoob redis 127.0.0.1:6379 HMSET runoob field1 Hello field2 World OK redis 127.0.0.1:6379 HGET runoob field1 Hello redis 127.0.0.1:6379 HGET runoob field2 World以上实例我们使用了Redis HMSETHGET命令HMSET设置了两个fieldvalue对HGET获取对应field对应的value。 ③List列表 Redis列表是简单的字符串列表按照插入顺序排序 redis 127.0.0.1:6379 DEL runoob redis 127.0.0.1:6379 lpush runoob redis (integer) 1 redis 127.0.0.1:6379 lpush runoob mongodb (integer) 2 redis 127.0.0.1:6379 lpush runoob rabbitmq (integer) 3 redis 127.0.0.1:6379 lrange runoob 0 10 1) rabbitmq 2) mongodb 3) redis redis 127.0.0.1:6379④Set集合 Redis的Set是string类型的无序集合集合是通过哈希表实现的 sadd命令 添加一个string元素到key对应的set集合中成功返回1如果元素已经在集合中返回0. sadd key memberredis 127.0.0.1:6379 DEL runoob redis 127.0.0.1:6379 sadd runoob redis (integer) 1 redis 127.0.0.1:6379 sadd runoob mongodb (integer) 1 redis 127.0.0.1:6379 sadd runoob rabbitmq (integer) 1 redis 127.0.0.1:6379 sadd runoob rabbitmq (integer) 0 redis 127.0.0.1:6379 smembers runoob1) redis 2) rabbitmq 3) mongodb以上实例中rebbitmq添加了两次但根据集合内元素的唯一性第二次插入的元素将被忽略 2)缓存同步 ①设置有效期 给缓存设置有效期到期后自动删除。再次查询时更新。 优点 简单方便 缺点 时效性差缓存过期之前可能不一致 场景 更新频率较低时效性要求低的业务 ②同步双写 在修改数据库的同时直接修改缓存 优点 时效性强缓存与数据库强一致 缺点 有代码侵入耦合度高 场景 对一致性时效性要求较高的缓存数据 ③异步通知 修改数据库时发送事件通知相关服务监听到通知后修改缓存数据 优点 低耦合可以同时通知多个缓存服务 缺点 时效性一般可能存在中间不一致状态 场景 时效性一般有多个服务需要同步 3key的过期时间 Redis过期时间设置命令有两种 PEXPIRE以毫秒为单位设置key的生存时间 EXPIPE以秒为单位设置key的生存时间 具体设置方式 EXPIRE key seconds //将key的生存时间设置为ttl秒PEXPIRE key milliseconds //将key的生成时间设置为ttl毫秒EXPIREAT key timestamp //将key的过期时间设置为timestamp所代表的的秒数的时间戳PEXPIREAT key milliseconds-timestamp //将key的过期时间设置为timestamp所代表的的毫秒数的时间戳 三问题分析过程 Redis如果只是将数据存入缓存以提高效率并设置缓存时间带来的问题是如果数据发生变化之后就得等key失效之后查询数据才会得到正确的数据。 public ListTbContent getContentListByCid(long cid) {//查询缓存try {//如果缓存中有直接响应结果String json jedisClient.hget(CONTENT_LIST, cid );if (StringUtils.isNotBlank(json)) {//json转列表TbContent.class是list中每个元素的类型ListTbContent list JsonUtils.jsonToList(json, TbContent.class);return list;}} catch (Exception e) { e.printStackTrace();}//如果缓存没有就查询数据库TbContentExample example new TbContentExample();Criteria criteria example.createCriteria();//设置查询条件criteria.andCategoryIdEqualTo(cid);//执行查询ListTbContent list contentMapper.selectByExampleWithBLOBs(example);//把结果添加到缓存try {jedisClient.hset(CONTENT_LIST, cid , JsonUtils.objectToJson(list));jedisClient.expire(CONTENT_LIST, 3600);} catch (Exception e) {e.printStackTrace();}return list;} 应该采取的做法是在对数据进行添加、修改和删除操作时删除数据查询数据时发现缓存中已删除就从数据库中查询得到最新的数据将最新的数据重新插入到缓存保证缓存中数据的准确性。 public E3Result addContent(TbContent content) {content.setCreated(new Date());content.setUpdated(new Date()); contentMapper.insert(content);//缓存同步jedisClient.hdel(CONTENT_LIST, content.getCategoryId().toString());return E3Result.ok();}四总结 1、如果开发人员要开发已有的代码需要和写此代码的开发人员进行沟通避免出现问题。 2、对于redis如何在项目中应用要及时查阅做总结。建议至少看三遍redis官网并画思维导图。 五升华 不怕不知道就怕不知道。
http://www.tj-hxxt.cn/news/222922.html

相关文章:

  • 长春网站提升排名拓者吧装修效果图
  • 青岛企业建站程序百度官方网站网址是多少
  • 私人小工厂做网站价格想做个外贸网站
  • 外链网站有哪些成品网站超市源码
  • 设计的好看的网站湟中网站建设
  • 中国建设银行ie下载网站福州绿光网站建设工作室
  • 网页安全站点设置wordpress显示同一分类的文章
  • 九江建企业网站微信微博网站建设
  • 唐山网站建设自主开发辽宁城乡建设工程招投标网
  • 鞍山自适应网站制作公司网站建设需求表
  • 阜宁做网站需要多少钱怎么制作个人求职网站
  • 网站维护总结网站建设开发维护
  • 大型网站开发的书深圳市光明建设发展集团网站
  • 杭州seo网站推广秦皇岛开发区建设局网站
  • 百度商店杭州网站建设优化
  • 网站建设建设公司有哪些wordpress video html5
  • 电脑上做简单的网站主机公园安装wordpress要多久
  • 西安免费做网站电话让公司做网站要注意什么
  • 网站自动seoasp网站开发上传组建
  • 百度站长工具验证网站制作技术人员
  • 上海网站开发设计六安网站建设优化
  • 上海国际网站建设电脑版传奇排行榜
  • 淘宝客网站主题模版手机网站 触屏
  • 网站建设单元格边距网上平面设计
  • 网站通常用什么编程做宝山青岛网站建设
  • 怎么让网站被收录为什么别的电脑能打开的网站我的电脑打不开
  • 重庆家居网站制作公司wordpress钢琴导航
  • 网站建设贰金手指科捷9wordpress4.8.3下载
  • 网站建设的主要工作网站建设合同 模板 下载
  • 架设网站费用网站排名是怎么做