毕设记录01-2022-0301_毕设数据缓存可以不做吗-程序员宅基地

技术标签: spring  spring boot  java  报错整理  经验贴  

毕设记录01

1. redis作用:

  • 数据库访问压⼒:为了降低对数据库的访问压⼒,当多个⽤户请求相同的数据时,我们可以将第⼀次从数据库查询到数据进⾏缓存(存储在内存中),以减少对数据库的访问次数
  • ⾸⻚数据的加载效率:将⼤量的且不经常改变的数据缓存在内容中,可以⼤幅度提⾼访问速度
  • 集群部署下的商品超卖:分布式事务
  • ⽤户登录:分布式会话

2. 向redis中存储数据

不同数据结构的添加操作

//1.string
//添加数据 set key value
stringRedisTemplate.boundValueOps(product.getProductId()).set( jsonstr);
//2.hash
stringRedisTemplate.boundHashOps("products").put(product.getProductId(),jsonstr);
//3.list
stringRedisTemplate.boundListOps("list").leftPush("ccc");
//4.set
stringRedisTemplate.boundSetOps("s1").add("v2");
//5.zset
stringRedisTemplate.boundZSetOps("z1").add("v1",1.2);

3. 向redis中读取数据

//string
String o = stringRedisTemplate.boundValueOps("103").get();
//hash 
Object v = stringRedisTemplate.boundHashOps("products").get("101");
//list
String s1 = stringRedisTemplate.boundListOps("list").leftPop();
String s2 = stringRedisTemplate.boundListOps("list").rightPop();
String s3 = stringRedisTemplate.boundListOps("list").index(1);
//set
Set<String> vs = stringRedisTemplate.boundSetOps("s1").members();
//zset
Set<String> vs2 = stringRedisTemplate.boundZSetOps("z1").range(0, 5);

4. 什么是JavaType???

JavaType是用来指定对象类型的,是用来指定pojo中属性的类型

5. redis安装与配置

5.1 Redis安装

基于linux环境安装redis

  1. 下载Redis:wget http://download.redis.io/releases/redis-5.0.5.tar.g
  2. 安装redis:yum -y install gcc
  3. 解压redis安装包:tar -zxvf redis-5.0.5.tar.gz
  4. 解压之后进⼈到redis-5.0.5⽬录:cd redis-5.0.5
  5. 编译:make MALLOC=libc
  6. 安装:make install
  7. 启动redis:redis-server
  8. 打开客户端:redis-cli

5.2 Redis配置

  1. 使⽤redis-server指令启动redis服务的时候,可以在指令后添加redis配置⽂件的路径,以设置redis是以何种配置进⾏启动

redis-server redis-6380.conf
#redis以redis-6380.conf⽂件中的配置来启动

  1. 如果不指定配置⽂件的名字,则按照redis的默认配置启动(默认配置≠redis.conf)
  2. 我们可以通过创建redis根⽬录下 redis.conf 来创建多个配置⽂件,启动多个redis服务

redis-server redis-6380.conf &
redis-server redis-6381.conf &

5.3 Redis配置文件

## 设置redis实例(服务)为守护模式,默认值为no,可以设置为yes
daemonize no
## 设置当前redis实例启动之后保存进程id的⽂件路径
pidfile /var/run/redis_6379.pid
## 设置redis实例的启动端⼝(默认6379)
port 6380
## 设置当前redis实例是否开启保护模式
protected-mode yes
## 设置允许访问当前redis实例的ip地址列表
bind 127.0.0.1
## 设置连接密码
requirepass 123456
## 设置redis实例中数据库的个数(默认16个,编号0-15)
databases 16
## 设置最⼤并发数量
maxclients
## 设置客户端和redis建⽴连接的最⼤空闲时间,设置为0表示不限制
timeout 0

6. img与sku为什么是list类型???

7. 页面静态化技术

  • 在电商系统中,为了提⾼商品详情的查询速度、减少对数据库的并发访问压⼒,我们可以使⽤redis来缓存商品详情,除此以外我们还可以⽤⻚⾯静态化 技术来达到此⽬的。
  • ⻚⾯静态化:将数据库中每条数据结合模版⽣成单独的HTML⽂件进⾏存储(⼀条数据对应⼀个独⽴的HTML⽂件),当⽤户访问数据时,直接访问不同的静态HTML⽂件即可。

8. 什么时候适合用数据缓存

  • 对于数据的写操作较少、但是会频繁的查询的数据适合使⽤缓存
  • 对于可能会发⽣修改,但是对数据⼀致性要求不⾼的数据也适合使⽤缓存

9. 为redis中的数据设置过期时间

stringRedisTemplate.boundValueOps("103").expire(20, TimeUnit.SECONDS);
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/HRX98/article/details/123213820

智能推荐

【VMW】【Lunix】虚拟机ping出现From 192.168.1.10: icmp_seq=1 Redirect Network(New nexthop: 192.168.1.1)问题_来自 192.168.158.1 icmp_seq=2 redirect host(新的下一跳: 1-程序员宅基地

文章浏览阅读1.7k次。问题虚拟机中ping 百度或者网关,可以访问外网,连接正常但是会出现如下问题:root@yuxy:~# ping 192.168.23.1PING 192.168.23.1 (192.168.23.1) 56(84) bytes of data.From 192.168.23.213: icmp_seq=1 Redirect Network(New nexthop: 192.168.23.1)64 bytes from 192.168.23.1: icmp_seq=1 ttl=255 time=1_来自 192.168.158.1 icmp_seq=2 redirect host(新的下一跳: 192.168.158.136)

使用jmespath第三方模块提取json数据_jmespath取json的下标-程序员宅基地

文章浏览阅读4.7k次,点赞2次,收藏11次。在工作中经常需要查找json里面的某个key的值,如果json层级太长,使用字典自带的get方法,比较麻烦。这里演示一下第三方模块jmespath提取json键、值。pip install jmespath一、基本操作查询key对应的valueimport jmespathsource = {"a": "foo", "b": "bar", "c": "baz"}result = ..._jmespath取json的下标

汇编指令学习与总结CMP,TEST,JE,JNZ,JNE,LEA,MOVE,SUB,INC,DEC,ADD,MUL,DIV,JGE,JB ,CQD_汇编 je-程序员宅基地

文章浏览阅读3w次,点赞41次,收藏209次。所有的汇编都是我零基础逆向微信汇编的指令 边玩边学(左边有 机器码,自己可以查 位置)如有不对的地方请指出注明:一些指令的英文单词,并非官方,只是为了好记好理解cmp【compare】指令进行比较两个操作数的大小例:cmp oprd1,oprd2为第一个操作减去第二个操作数,但不影响第两个操作数的值,它影响flag的CF,ZF,OF,AF,PF.66E9419E 66:833..._汇编 je

论坛集_77论坛-程序员宅基地

文章浏览阅读1.3w次。000013 001http://people.sina.com.cn/forum.html新浪网论坛 000015 002http://club.sohu.com/搜狐社区 000020 003http://bj.163.com/网易北京社区 000043 004http://bbs.tom.com/bbs.phpTOM海云天论坛 000143 005http://bbs.china.com/中_77论坛

python-字符串中使用%%有什么作用?%操作符的各种用法小结_python %%-程序员宅基地

文章浏览阅读1.3w次,点赞6次,收藏43次。python-字符串中使用%%有什么作用?%操作符的各种用法小结_python %%

统计平均分:从文本读取成绩并计算平均分,将平均分写入文本文件保存_包含学生考试成绩的源文本文件中提取并计算平均分-程序员宅基地

文章浏览阅读1.2k次。从文本读取成绩并计算平均分,将平均分写入文本文件保存。【学习的细节是欢悦的历程】Python官网Free:大咖免费“圣经”教程python 完全自学教程,不仅仅是基础那么简单……自学并不是什么神秘的东西,一个人一辈子自学的时间总是比在学校学习的时间长,没有老师的时候总是比有老师的时候多。——华罗庚HOT好文力荐从文本读取成绩并计算平均分统计平均分(将平均分写入文本文件保存)本文质量分:90目 录。_包含学生考试成绩的源文本文件中提取并计算平均分

随便推点

{技术操作} Vue tab 切换 点击栏目背景色改变,内容也改变_vue3el-tabs选中时tabs页背景色改变-程序员宅基地

文章浏览阅读289次,点赞4次,收藏3次。/这是每个tab内容不同的情况下使用,(如果每个tab内部内容一样 底下可直接v-for循环就行了 )工业 内部内容制造 内部内容服务 内部内容其他 内部内容css// 选中后的效果js。_vue3el-tabs选中时tabs页背景色改变

VUE实现一个好看半透明登陆界面(附源码)_vue登录界面主题样式-程序员宅基地

文章浏览阅读5.5k次,点赞4次,收藏22次。欢迎使用消防员定位系统 @西南交通大学 | 邓平老师团队</el-header><el-main> <div id="login_box"> <h2>消防员系统登录</h2> <div id="form"> <div id="input_box"> <i class="fa fa-user" aria-hidden="tr..._vue登录界面主题样式

MySQL 1045登录失败完美解决方案_failed to initialize database, got error error 104-程序员宅基地

文章浏览阅读4.4w次,点赞5次,收藏27次。登录MySQL数据库出现:Error 1045错误时(如下图),就表明输入的用户名或密码错误被拒绝访问了, 最简单的解决方法就是将MySQL数据库卸载然后重装,但这样的缺点就是就以前的数据库中的信息将丢失, 解决的方法应该有多种,这里推荐大家使用一种原理通过,操作简单的方法,适用于windows以及linux平台。 MySQL 1045错误如图:[plain] view plain ..._failed to initialize database, got error error 1045 (28000): access denied f

第一款个人应用——《不做手机控》——终于上线啦!_不做手机控是哪个公司的-程序员宅基地

文章浏览阅读9.3k次,点赞14次,收藏10次。从事Android已经大半年了,居然没有一款自己的产品,真是惭愧啊,不过经过这一个半月的艰苦奋斗,我人生中第一个个人Android应用终于诞生了!叫——不做手机控。感谢老婆大人起的好名字。这是下载连接:点击打开链接,请朋友们多提意见和建议!回想这半个月,还真不容易,每天下班继续码代码是最基本的,还要一个人兼任开发、产品、设计、测试等多项工作。其实产品、测试的工作还好说,毕竟平时接触的多,赶鸭子上架..._不做手机控是哪个公司的

[神经网络]Matlab神经网络原理6.6.2节 - 使用BP网络实现异或(工具箱)_bp神经网络 matlab 用matlab工具箱 解决抑或问题-程序员宅基地

文章浏览阅读1.2k次,点赞2次,收藏11次。clc,clear,close all;% 异或四点向量traind = [0,0,1,1;0,1,0,1];trainl = [0,1,1,0];% 创建一个前向BP网络 节点为2net = feedforwardnet(2);net.divideFcn=''; % **关键,关闭网络内部的训练集与结果错开的功能%% Trainnet = train(net,traind..._bp神经网络 matlab 用matlab工具箱 解决抑或问题

PMP-变更控制流程图详解-程序员宅基地

文章浏览阅读5.7k次,点赞3次,收藏13次。最新的PMP变更控制流程图,流程图根据清华大学副教授、光环国际杨述老师的视频制作,流程图制作工具是OmniGraffle。整体变更控制:实施整体变更控制是审查所有的变更请求、批准变更,管理对可交付成果、项目文件和项目管理计划的变更,并对变更处理结果进行沟通的过程。变更控制常见原因:变更控制常见原因变更控制流程图:4个角色:相关方、团队成员、项目经理、变更控制委员会。原文链接:https://www.ffeeii.com/1793.htmlPMP-变更控制流程图..._变更控制流程图

推荐文章

热门文章

相关标签