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

营销型网站需要备案吗域名费用和网站服务器费用是同样的吗

营销型网站需要备案吗,域名费用和网站服务器费用是同样的吗,dede学校网站,网站设置在哪里找文章目录 内部编码使用场景缓存功能计数功能共享会话手机验证码 内部编码 字符串类型的内部编码有3种#xff1a; int#xff1a;8个字节#xff08;64位#xff09;的⻓整型#xff0c;存储整数embstr#xff1a;压缩字符串#xff0c;适用于表示较短的字符串raw int8个字节64位的⻓整型存储整数embstr压缩字符串适用于表示较短的字符串raw普通字符串适用于表示更长的字符串内部是一个char类型的数组 Redis会根据当前值的类型和⻓度动态决定使⽤哪种内部编码实现 使用场景 缓存功能 Redis作为缓冲层MySQL作为存储层绝⼤部分请求的数据都是从Redis中获取。由于Redis具有⽀撑⾼并发的特性所以缓存通常能起到加速读写和降低后端压⼒的作⽤ 整体的思路应用服务器访问数据的时候先查询redis服务器如果redis服务器上数据存在那么就直接从redis当中取出数据交给应用服务器不继续访问数据库 如果redis服务器上数据不存在那么再读取MySQL将读取到的结果范围给应用服务器同时将这个查询到的数据写入到redis当中 伪代码模拟业务数据访问过程 1假设业务是根据⽤⼾uid获取⽤⼾信息 UserInfo getUserInfo(long uid) {... }2⾸先从Redis获取⽤⼾信息我们假设⽤⼾信息保存在user:info:uid对应的键中 // 根据 uid 得到 Redis 的键 String key user:info: uid; // 尝试从 Redis 中获取对应的值 String value Redis 执⾏命令get key; // 如果缓存命中hit if (value ! null) {// 假设我们的⽤⼾信息按照 JSON 格式存储UserInfo userInfo JSON 反序列化(value);return userInfo; }3如果没有从Redis中得到⽤⼾信息及缓存miss则进⼀步从MySQL中获取对应的信息随后写⼊缓存并返回 // 如果缓存未命中miss if (value null) {// 从数据库中根据 uid 获取⽤⼾信息UserInfo userInfo MySQL 执⾏ SQLselect * from user_info where uid uid// 如果表中没有 uid 对应的⽤⼾信息if (userInfo null) {响应 404return null;}// 将⽤⼾信息序列化成 JSON 格式String value JSON 序列化(userInfo);// 写⼊缓存为了防⽌数据腐烂rot设置过期时间为 1 ⼩时3600 秒Redis 执⾏命令set key value ex 3600// 返回⽤⼾信息return userInfo; }通过增加缓存功能极⼤地提升了查询效率也降低了MySQL的访问数 注意与MySQL等关系型数据库不同的是Redis没有表、字段这种命名空间⽽且也没有对键名有强制要求除了不能使⽤⼀些特殊字符。但设计合理的键名有利于防⽌键冲突和项⽬的可维护性 推荐的⽅式是使⽤业务名:对象名:唯⼀标识:属性作为键名MySQL的数据库名为vs⽤⼾表名为user_info那么对应的键可以使⽤vs:user_info:6379、vs:user_info:6379:name来表⽰ 如果当前Redis只会被⼀个业务使⽤可以省略业务名vs:。如果键名过长则可以使⽤团队内部都认同的缩写替代例如user:6379:friends:messages:5217可以被u:6379:fr:m:5217代替。毕竟键名过⻓还是会导致Redis的性能明显下降的。 计数功能 许多应⽤都会使⽤Redis作为计数的基础⼯具它可以实现快速计数、查询缓存的功能同时数据可以异步处理或者落地到其他数据源例如视频⽹站的视频播放次数可以使⽤Redis来完成⽤⼾每播放⼀次视频相应的视频播放数就会⾃增1 注意写入统计数据仓库的步骤是异步的并不是说来一个播放请求就必须马上写一个数据二者并不需要同时完成只需要最后保证数据正确即可 要开发⼀个成熟、稳定的真实计数系统要⾯临的挑战远不⽌如此简单防作弊防止别人刷播放量按照不同维度计数、避免单点问题、数据持久化到底层数据源等 共享会话 回顾 cookie浏览器存储数据的机制 session服务器这边存储数据的机制 会话客户端和服务器在交互的过程当中产生的一些专属于该客户端的中间状态的数据 ⼀个分布式Web服务将⽤⼾的Session信息例如⽤⼾登录信息保存在各⾃的服务器中但这样会造成⼀个问题出于负载均衡的考虑分布式服务会将⽤⼾的访问请求均衡到不同的服务器上并且通常⽆法保证⽤⼾每次请求都会被均衡到同⼀台服务器上这样当⽤⼾刷新⼀次访问是可能会发现需要重新登录这个问题是⽤⼾⽆法容忍的 session分散存储 为了解决这个问题可以使⽤Redis将⽤⼾的Session信息进⾏集中管理如图2-13所⽰在这种模式下只要保证Redis是⾼可⽤和可扩展性的⽆论⽤⼾被均衡到哪台Web服务器上都集中从Redis中查询、更新Session信息 手机验证码 很多应⽤出于安全考虑会在每次进⾏登录时让⽤⼾输⼊⼿机号并且配合给⼿机发送验证码然后让⽤⼾再次输⼊收到的验证码并进⾏验证从⽽确定是否是⽤⼾本⼈。为了短信接⼝不会频繁访问会限制⽤⼾每分钟获取验证码的频率例如⼀分钟不能超过?5?次 伪代码实现上述功能 String 发送验证码(phoneNumber) {key shortMsg:limit: phoneNumber;// 设置过期时间为 1 分钟60 秒// 使⽤ NX只在不存在 key 时才能设置成功bool r Redis 执⾏命令set key 1 ex 60 nxif (r false) {// 说明之前设置过该⼿机的验证码了long c Redis 执⾏命令incr keyif (c 5) {// 说明超过了⼀分钟 5 次的限制了// 限制发送return null;}}// 说明要么之前没有设置过⼿机的验证码要么次数没有超过 5 次String validationCode ⽣成随机的 6 位数的验证码();validationKey validation: phoneNumber;// 验证码 5 分钟300 秒内有效Redis 执⾏命令set validationKey validationCode ex 300;// 返回验证码随后通过⼿机短信发送给⽤⼾return validationCode ; }// 验证⽤⼾输⼊的验证码是否正确 bool 验证验证码(phoneNumber, validationCode) {validationKey validation: phoneNumber;String value Redis 执⾏命令get validationKey;if (value null) {// 说明没有这个⼿机的验证码记录验证失败return false;}if (value validationCode) {return true;} else {return false;} }
http://www.zqtcl.cn/news/438361/

相关文章:

  • 网站用什么切版商城网站怎么建
  • 设计网站公司多少钱wordpress获取所有标签
  • 怎么看一个网站是哪个公司做的电子商务网站设计与规划
  • 邯郸哪里做网站优化网站建设如何排版
  • 济南网站建设设计制作公司找人做网站价格
  • 阿里网站年费续费怎么做分录大型的网站开发
  • 中山做网站费用广西壮族自治区住房和建设厅网站
  • vs2015做网站如何添加控件建设网站计划 ppt
  • 简述网站设计流程贵阳小程序开发软件公司
  • 营销网站建设的原则设计网站页面要注意什么
  • 上海怎么做网站国外网站 设计
  • 开发公司土地评估费计入土地价款优化搜狐的培训
  • 网站建设佰首选金手指三360怎么免费建网站
  • 网站万能密码修复苏州市建设中心网站
  • 如何搭建php网站网站制作的前期主要是做好什么工作
  • 站酷设计网站官网站不能正常显示出现后台代码
  • 网站域名改版微信公众号免费开通
  • 代网站建设如何对网站进行爬虫
  • 做公司+网站建设价格低网站两边广告代码
  • 服务器上怎做网站提升网页优化排名
  • 上海网站推广模板景德镇网站开发
  • 艺术风格网站成都软件开发公司排行榜
  • 搭建个人网站赚钱网站开发应该注意什么
  • 医药招商网站建设做招聘网站都需要什么手续
  • 通州网站建设电话外贸订单网站推广
  • 余江县建设局网站福州外包加工网
  • 为网站网站做推广加强网络安全建设
  • dedecms 模版网站wordpress 10万并发
  • 衡阳企业网站排名优化深圳网站建设 联雅网络
  • 厦门网站建设案例做网站需要买多大空间