建设公司网站源码网页设计与制作步骤

bicheng/2026/1/25 17:16:32/文章来源:
建设公司网站源码,网页设计与制作步骤,溧水建设局网站,做下载网站用阿里云的什么产品简介RedisRedis安装怎么远程连接基础命令常用类型字符串类型字典类型列表类型集合类型有序集合类型 spring boot集成Redis代码操作Redis 实现一个session储存到redis持久化缓存雪崩缓存穿透缓存击穿缓存预热 项目升级之Redis储存Session 简介Redis Redis是一种内存数据存储系统… 简介RedisRedis安装怎么远程连接基础命令常用类型字符串类型字典类型列表类型集合类型有序集合类型 spring boot集成Redis代码操作Redis 实现一个session储存到redis持久化缓存雪崩缓存穿透缓存击穿缓存预热 项目升级之Redis储存Session 简介Redis Redis是一种内存数据存储系统也被称为键值存储系统。之所以能这么快因为他的数据是储存在内存中在内存就意味着可能会因为断电关机而丢失但是我们的云服务器是7*24小时工作的而Redis也是有持久化机制把数据写入硬盘里RDB、AOF等 Redis支持多种数据结构如字符串、哈希、列表、集合和有序集合。它可以存储非结构化数据文本、图片、音频适用于缓存、队列等场景。 如果session存在内存只能单机部署存在Redis到时候大家都连接这个redis实现分布式。假设我觉得一台服务器处理100w客户端压力很大所以我选择两台服务器用Redis就不会说有台服务器是没有Session的情况 Redis安装 官方的redis只提供了linux版本。windows装的那都是绿色版本我们在Xshell上所以yum -y install redis Redis启动以后台方式运行 redis-server /etc/redis.conf 默认是在etc路径 启动redis客户端redis-cli 这里注意不能带空格 怎么远程连接 1.将 redis 配置文件下载到本地: redis 配置文件是 linux 下的 /etc/redis.conf ; 找到你要下载的文件路径文件名。通过sz /路径文件名然后会谈出一个框让你选择下载到哪里 2.将 redis.conf 中的bind 127.0.0.1”注释掉 3.将 redis.conf 中的“protected-mode yes”改为“protected-mode no 4.将修改后的 redis.conf 上传至 liunx 下的 /etc 目录;将文件拖进去就能上传亲测得把原先的redis.conf配置文件删除掉再上传记得云服务器端口开放一下 5.使用命令“redis-cli shutdown” 先关 redis 服务再使用“redis-server /etc/redis.conf 启动 redis 服务。 安装Redis可视化客户端如有需要的伙伴私我发你我会在第一时间分享与你Redis没有用户名6.0以后才有用户名 基础命令 操作命令官方文档 多问问chatgpt一般我们都是通过代码来操作的比较多 常用类型 字符串类型 key-value String类型也能相加 设置过期时间 使用场景存用户登录信息、文章信息、列表信息、累计网页统计信息。string可以存万物哪怕是对象也能按json存只是要转来转去 字典类型 字典类型(Hash) 又被成为散列类型或者是哈希表类型它是将一个键值(key) 和一个特殊的“哈希表”关联起来这个“哈希表”表包含两列数据: 字段和值它就相当于 Java 中的MapString,MapString,String 结构。套娃是吧 使用 设置多个 但是这个设置多个是有问题的这一个起始的版本是4.0。我们装的是3.多所以这个是用不了的 使用HMSET设置多个时 使用场景用户对象把用户id、用户名、创建时间都传进来 列表类型 列表类型(list)是一个使用链表结构存储的有序结构它的元素插入会按照先后顺序存储到链表结构中因此它的元素操作(插入和删除)时间复杂度为 O(1)所以相对来说速度还是比较快的但它的查询时间复杂度为 O(n).因此查询可能会比较慢 使用场景 消息队列: 列表类型可以使用 push 实现先进先出的功能同时又可以使用 pop 轻松的弹出(查询并删除)第一个元素所以列表类型可以用来实现简单消息队列; 文章列表:对于博客站点来说当用户和文章都越来越多时为了加快程序的响应速度我们可以把用户自己的文章存入到 List 中因为 List 是有序的结构所以这样又可以完美的实现分页功能从而加速了程序的响应速度。 集合类型 list是先进先出可以重复set不可以重复如果存的重复就合并数据 使用场景去重复 微博关注我的人和我关注的人都适合用集合存储可以保证人员不会重复; 中奖人信息也适合用集合类型存储这样可以保证一个人不会重复中奖 集合类型 (Set) 和列表类型 (List) 的区别如下: 列表可以存储重复元素集合只能存储非重复元素 列表是按照元素的先后顺序存储元素的而集合则是无序方式存储元素的。 有序集合类型 能保证顺序能根据用户设置的值进行排序 有序集合类型(Sorted Set) 相比于集合类型多了一个排序属性 score (分值)对于有序集合 ZSet 来说每个存储元素相当于有两个值组成的一个是有序结合的元素值一个是排序值。有序集合的存储元素值也是不能重复的但分值是可以重复的。 使用场景学生成绩排名粉丝列表根据关注的先后时间排序 spring boot集成Redis 上述类型字符串类型最常用我们需要通过spring boot项目操作这些数据类型连接redis 1添加依赖 2添加配置 如果你有设置密码那这里就要写密码keyvalue默认的database有16个而我们选择默认的是0。edis不能像MySQL自己建数据库。 如果超过16个那就再搭建用一个redis服务器。 spring data redis底层基于lettuce设置的所以我们这里可以设置lettuce的信息相当于你设置redis。。后面这些可以选择性设置 默认是在内存但是可以在磁盘你可以认为有两份数据一份在内存一份在硬盘。。内存的是最新的磁盘里的会隔一段时间更新 最基本设置项 代码操作Redis 注意如果是专业版ideaAutowired会提示报错但是不影响效果 RedisTemplate是Spring Framework中的一个类用于在Java应用程序中与Redis数据库进行交互的工具。它提供了一种方便的方式来执行常见的Redis操作如存储、检索和删除数据以及执行一些高级操作如事务和管道。通过RedisTemplate您可以在Java代码中操作Redis数据库而无需直接处理底层的Redis命令。这对于在Spring应用程序中使用Redis作为数据存储和缓存非常有用。 先获取操作的opsFor……获取操作的类型。字符串类型就是value。很多重载的方法你想操作什么类型就获取什么类型 注意默认是没有设置过期时间负1 具体代码 RestController public class RedisController {Resourceprivate RedisTemplate redisTemplate;RequestMapping(/save)public String save() {redisTemplate.opsForValue().set(userinfo, zhangsan);return ok;}RequestMapping(/get)public Object get() {return redisTemplate.opsForValue().get(userinfo);}//操作哈希RequestMapping(/save2)public String save2() {redisTemplate.opsForHash().put(myhash, username, lisi);return ok;}RequestMapping(/get2)public Object get2() {return redisTemplate.opsForHash().get(myhash, username); // lish}}执行我们现在去浏览器输入这个url触发这些执行 效果发现Redis确实有点东西 实现一个session储存到redis 需要添加多这个依赖 配置信息这些都建议设置一下namespace相当于新建文件夹储存。 spring.session.store-typeredis指定将会话Session数据存储在Redis数据库中 spring.session.redis.flush-modeon_save 意味着您选择了默认的刷新模式即在会话数据发生变化时将其刷新到Redis中。 server.servlet.session.timeout 设置会话Session的超时时间的 spring.session.redis.namespace 用来指定会话存储在Redis数据库中的命名空间namespace相当于新建文件夹储存。 存Session还是之前的方式不需要去改httpSession还是白送的只需要添加依赖和配置就行了。这就存进去了。存的时候会自动调用这个框架把你的session存到redis里。 存字符串 取字符串 session.getAttribute(SESSION_KEY_USERINFO); 存对象 存字符串不是关键我们要存对象比较关键比较对象的作用范围广很多但是有坑 现在这是一个对象使用上述的方法去存 序列化的时候报错当然是没有匹配的对象啊。实现了这个接口才能序列化将对象转换为字节流和反序列化将字节流转换回对象。这样子的话他储存会使用哈希map储存。 为什么要这样子呢 1数据持久化内存数据库的数据是易失性的意味着如果服务器重启或断电所有数据将丢失。为了保证数据的持久性可以将数据存储在硬盘上的持久化文件中。在这种情况下需要将数据序列化为字节流以便将其写入持久化文件然后在重新加载时将其反序列化为对象。 2网络传输Redis是一个多语言支持的数据库它可以被多种编程语言访问和操作。不同的编程语言使用不同的对象表示方法通过将对象序列化为通用的字节流可以跨语言地存储和检索数据。 3存储优化当对象需要在不同的机器或不同的进程之间进行传输时需要将对象转换为字节流以进行网络传输。字节流可以在网络上进行传输并在目标机器或进程上反序列化为对象。这在分布式系统中非常常见以便不同部分之间共享数据。 4支持多种编程语言Redis是一个键值存储数据库存储的是键和值对。值可以是字符串、哈希、列表等数据结构但它们都需要被转换为字节流来存储在Redis中。序列化使得存储更加紧凑节省了内存和存储空间。 如果不想序列化加这个东西把它排除掉就没法存进去的。现在你再设置这个age他也不会读到这个序列化把这个忽略了。 持久化 持久化将数据保存在硬盘而不是一直在内存防止数据的丢失 Redis持久化方式 RDB:快照方式将某⼀个时刻的内存数据以⼆进制的⽅式写⼊磁盘 AOF:文件追加方式记录所有的操作命令并以⽂本的形式追加到⽂件中 RDB、AOF结合混合持久化方式Redis 4.0 之后新增的⽅式混合持久化是结合了 RDB 和 AOF 的优点在写⼊ 的时候先把当前的数据以 RDB 的形式写⼊⽂件的开头再将后续的操作命令以 AOF 的格式存⼊⽂件这样既能保证 Redis 重启时的速度⼜能减低数据丢失的⻛险。 如何切换呢 redis-cli 命令⾏中执⾏ config set aof-use-rdb-preamble yes 来开启混合持久化当开启混合持久化时 Redis 就以混合持久化⽅式来作为持久化策略当没有开启混合持久化的情况下使⽤ config set appendonly yes 来开启 AOF 持久化的策略当 AOF 和混合持久化都没开启的情况下默认会是 RDB 持久化的⽅式。 优缺点 缓存雪崩 缓存雪崩是指在短时间内有⼤量缓存同时过期导致⼤量的请求直接查询数据库从⽽对数据库造成了巨⼤的压⼒严重情况下可能会导致数据库宕机的情况叫做缓存雪崩。 如果都不设置过期时间行不行永久的不会过期。这样子持久化的时候压力就会很大刚开始RGB刚开始有用信息可能存个10mb全部都不过期那么存个100mb。 解决方案所以加锁排队执行增加系统响应时间会牺牲一些用户体验或者随机过期时间再或者设置二级缓存Redis失效就先去查二级缓存而不是直接查数据库 设置随机过期时间 // 缓存原本的失效时间 int exTime 10 * 60; // 随机数⽣成类 Random random new Random(); // 缓存设置 jedis.setex(cacheKey, exTimerandom.nextInt(1000) , value); 缓存穿透 缓存穿透是指查询数据库和缓存都⽆数据因为数据库查询⽆数据出于容错考虑不会将结果保存到缓存中因此每次请求都会去查询数据库这种情况就叫做缓存穿透。也会给数据库造成很大压力。 就是你叫给我托管但是你啥都没有。用户向我拿东西发现什么都没有就一直找数据库拿。数据库也是什么都没有。 解决方案 空值缓存当一个请求查询的结果在数据库中不存在时可以将这个空结果也缓存起来设置一个较短的过期时间。我们在缓存中存储一个表示空结果的占位值并为这个占位值设置一个较短的过期时间当请求到达时即使缓存中没有有效的数据也会返回这个空结果。由于过期时间较短这个占位值会很快从缓存中移除。 缓存击穿 缓存击穿指的是某个热点缓存在某⼀时刻恰好失效了然后此时刚好有⼤量的并发请求此时这些请求将会给数据库造成巨⼤的压⼒这种情况就叫做缓存击穿。 解决方案 加锁排队 此处理⽅式和缓存雪崩加锁排队的⽅法类似都是在查询数据库时加锁排队缓冲操作请求以此来减少服务器的运⾏压⼒。 设置永不过期 把热点的设置不过期这样子就不会去请求数据库但需要注意在数据更改之后要及时更新此热点缓存不然就会造成查询结果的误差。 缓存预热 系统启动的时候先把查询结果预存到缓存中以便⽤户后⾯查询时可以直接从缓存中读取以节约⽤户的等待时间。 应用程序启动就先查询数据库然后同步到缓存中 实现的三种思路 1 把需要缓存的⽅法写在系统初始化的⽅法中这样系统在启动的时候就会⾃动的加载数据并缓存数据 2把需要缓存的⽅法挂载到某个⻚⾯或后端接⼝上⼿动触发缓存预热 3设置定时任务定时⾃动进⾏缓存预热。 项目升级之Redis储存Session

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/86801.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

做网站模板出售类网站怎么样创意作品

开发者朋友们大家好: 这里是 「RTE 开发者日报」 ,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享 RTE (Real Time Engagement) 领域内「有话题的 新闻 」、「有态度的 观点 」、「有意思的 数据 」、「有思考的 文…

收录排名好的发帖网站中诺建设集团有限公司网站

点击整个专栏查看其它系列文章 (系列文章更新中…):《iVX 高仿美团APP制作移动端完整项目》 项目界面预览: 一、创建项目 首先打开在线编辑器地址:https://editor.ivx.cn/ 随后登录帐号后创建一个相对应用项目&…

建设广告网站费用怎么给自己制作一个网站

word打开来显示一直正在启动中,其他调用word的应用也打不开,网上查了下以后进程关闭spoolsv.exe,就可以正常打开word了

江苏专业做网站的公司有哪些微网站建设对微网站进行策划

MySQL 主备的基本原理MySQL 主备切换流程.png主备同步流程图备库 B 跟主库 A 之间维持了一个长连接。主库 A 内部有一个线程,专门用于服务备库 B 的这个长连接。一个事务日志同步的完整过程是这样的:在备库 B 上通过 change master 命令,设置…

像试淘网网站怎么建设北京小程序公司

MongoDB一直显示 Unrecognized option: storage try ‘mongod --help’ for more information 意思是我们配置的config文件出了问题。 说明:MongoDB采用的是YAML格式,所以我们只需要稍微改改就好。 在storage前面:没有空格 下面两行最前面…

大屯街道网站建设徐州建设企业网站

安装Visual studio 官方网址 https://visualstudio.microsoft.com/zh-hans/ 选择第一个社区版本(免费) 下载完成后打开安装包 安装完成后会自动打开程序选择c项目然后安装即可(c兼容c) 安装完成后启动程序注意这里需要注册也可…

网站主题选择google浏览器官网下载

准备工作 https://www.right.com.cn/forum/thread-161906-1-1.html https://breed.hackpascal.net/ 在第二个链接里下载路由器对应的breed固件,固件的说明见第一个链接,下文以极路由4为例演示 由于极路由官方挂了,无法进行root&#xff0…

如何通过做网站挣钱深圳网站建设服务中心

进程与线程 进程与线程:详细解析计算机的基本运作单位1. 进程:独立的执行环境1.1 进程的特点: 2. 线程:轻量级的执行单元2.1 线程的特点: 3. 区别和联系4. 表格 进程与线程:详细解析计算机的基本运作单位 在…

淄博免费网站建设哪家好前端网站开发实例

系列文章目录 文章目录 系列文章目录一、springboot常用的starter有哪些二、 SpringBoot 实现热部署有哪几种方式?三、如何理解 Spring Boot 配置加载顺序? 一、springboot常用的starter有哪些 spring-boot-starter-web 嵌入tomcat和web开发需要servlet…

python电商网站开发简历制作免费模板下载

最近还是在做一些和稳定性建设相关的事情,找到一份《分布式稳定性建设指南》文档,摘抄了其中的重点,以便后续回顾方便,一直没上传好资源,我之后再试试,原文内容质量非常高。 大家可以先看一级目录即可&…

zencart外贸网站建设免费seo教程

useCallback的主要使用场景在于优化性能,并确保当传递回调函数给子组件时,子组件不会因为父组件的重渲染而重新创建函数。 使用场景 1.当你需要将回调函数传递给子组件时,使用useCallback可以确保子组件在重新渲染时不会不必要地重新创建函数…

宿迁网站建设cy0001织梦怎么用模板建站

科技云报道原创。 最近,又一个概念火了——向量数据库。 随着大模型带来的应用需求提升,4月以来多家海外知名向量数据库创业企业传出融资喜讯。 4月28日,向量数据库平台Pinecone宣布获得1亿美元(约7亿元)B轮融资&am…

广东公司网站建设企业网站开发合同售后服务

xadmin后台在每一行记录增加一个复制链接按钮 1、效果 点击复制后,自动把url链接复制到粘贴板,按Ctrl+v即可显示复制内容。 2、实现代码 adminx.py # 用户管理 class UserWhiteListAdmin(object):search_fields = [name, mobile] # 检索字段list_display

泰安网站建设入门自媒体做什么领域比较好

1.1.1 需求分析 所谓高亮,就是使用特别的样式修饰某字段中包含的搜索关键字。 需求:实现搜索高亮,商品名称使用红色显示搜索关键字。 1.1.2实现思路 使用默认高亮显示来获取每个搜索命中title字段的高亮显示,在指定title字段的…

网站建设上机课小程序可以自己开发吗

引言:模块化与组件化的重要性 在现代软件开发中,随着项目规模的增长和技术的复杂性增加,如何有效地组织和管理代码变得越来越重要。模块化与组件化作为两种主要的代码组织方法,为开发者提供了有效的工具,帮助他们创建…

网站建设管理员角色设置wordpress链接微信

注:本文为《动手学深度学习》开源内容,部分标注了个人理解,仅为个人学习记录,无抄袭搬运意图 7.7 AdaDelta算法 除了RMSProp算法以外,另一个常用优化算法AdaDelta算法也针对AdaGrad算法在迭代后期可能较难找到有用解的…

网站开发自学还是培训wordpress 去掉左上角

顶级程序员的心得 –– Coders at Work说明:这篇文章是我 2010 年的原创,但是发现 csdn 的版本把格式全部搞坏了,原文在这里 我2009年读了 “Coders at Work”, 这是作者对15 位顶级程序员的采访, 总共600页。 从采访的模式看&…

自建站网站wordpress首页链接新标签打开

删除重复文件能够为电脑腾出很大的存储空间,不信?可以试试看哦! 电脑使用久了,都会积累大量的文件,这其中难免会出现重复的文件,这些重复文件没有任何作用,而且会占用着电脑的空间,…

濮阳网站建设通图片头像制作免费生成器

1.简介 双指针技巧是一种常见的算法解题方法,通过使用两个指针在数据结构上同时移动,可以解决多种问题。这种技巧通常适用于数组、字符串和链表等数据结构,下面我将详细介绍双指针技巧的特点和应用场景: 特点: 快慢…

页游网站wordpress网址导航插件

游戏开始后,随着音乐会给出不同的动作提示,用户按照提示摆出正确动作即可得分。援引官方说法,“尬舞机”主要应用了今日头条 AI Lab 自主开发的“人体关键点检测技术”,依靠这项技术,抖音能够检测到图像中所包含人体的…