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

做包装找灵感看什么网站网站建设实训报告心得

做包装找灵感看什么网站,网站建设实训报告心得,做网站直接从网上的icon吗,辽宁建设工程信息网官网 可登录中项网配置环境 下载 Redis Windows 访问 https://github.com/microsoftarchive/redis/releases 选择版本进行下载 - 勾选 [配置到环境变量] - 无脑下一步并安装 命令行执行#xff1a;redis-cli -v 查看已安装的 Redis 版本#xff0c;能成功查看就表示安装成功啦~ Mac brew i…配置环境 下载 Redis Windows 访问 https://github.com/microsoftarchive/redis/releases 选择版本进行下载 - 勾选 [配置到环境变量] - 无脑下一步并安装 命令行执行redis-cli -v 查看已安装的 Redis 版本能成功查看就表示安装成功啦~ Mac brew install redis # 安装 redis brew services start redis # 启动 redis brew services stop redis # 停止 redis brew services restart redis # 重启 redis启动 Redis 打开任务管理器找到 Redis 服务点击启动即可 配置 EggJS 项目 安装依赖 pnpm i egg-redis配置插件 // config/plugin.js exports.redis {enable: true,package: egg-redis, };// config/config.default.js exports.redis {client: {port: 6379, // Redis porthost: 127.0.0.1, // Redis hostpassword: ,db: 0,}, };扩展 helper // app/extend/helper.js module.exports {// 生成 redis 锁的控制器; val 为随机数, 防止解锁时误删其他请求的锁redisLockController(key, val Math.random(), ttl 5 * 60) {const app this.app;return {// 上锁async lock() {// 使用 set 命令上锁并设置过期时间, 保证原子性const lockResult await app.redis.set(key,val,EX,ttl,NX);return lockResult OK;},// 解锁async unlock() {// 使用 lua 脚本校验锁并解锁, 保证原子性const script if redis.call(get, KEYS[1]) ARGV[1] thenreturn redis.call(del, KEYS[1])elsereturn 0end;// 使用 eval 命令执行 lua 脚本const unlockResult await app.redis.eval(script, 1, key, val);return unlockResult 1;},};}, };使用 redis 上锁 // app/controller/home.js const { Controller } require(egg);module.exports class HomeController extends Controller {async index() {const { id } this.ctx.query;const result await this.service.home.index(id);this.ctx.body result;} };// app/service/home.js const { Service } require(egg);module.exports class HomeService extends Service {async index(id 0) {// 从 header 中获取 region 参数const region this.ctx.get(region) || default;// 生成锁的 keyconst lockKey lock:${region}:${id};// 获取锁的控制器const { lock, unlock } this.ctx.helper.redisLockController(lockKey);// 上锁const lockResult await lock();// 上锁失败if (!lockResult) return { code: 500, msg: lock failed };// 上锁成功, 执行业务逻辑let result;try {result await this.mockSql(id);} catch (err) {result { code: 500, msg: err.message };}// 解锁await unlock();// 返回结果return result;}// 模拟数据库查询async mockSql(id) {// 2s 后返回结果return new Promise((resolve) {setTimeout(() {resolve({code: 200,msg: success,data: { id, desc: egg is very good, time: Date.now() },});}, 2000);});} };模拟抢锁 开两个浏览器访问 http://localhost:7001 即可模拟抢锁的场景
http://www.zqtcl.cn/news/668571/

相关文章:

  • 衡水做网站服务商济南如何挑选网站建设公司
  • 全屏的网站制作企业网站欢迎界面素材
  • 视频网站切片怎么做网站建设可自学吗
  • 本地推广平台网站seo优化如何做
  • 网站建设费算费用还是固定资产百度秒收录
  • 企业建站系统营销吧tt团队韩国企业网站设计
  • 上海嘉定网站建设公司有没有知道网址的
  • 电商网站的银行支付接入该怎么做杭州微信小程序外包
  • 余姚网站推广策划案门户网站做等保需要备案哪些
  • 网站关键字优化公司wordpress制作百度地图xml
  • 网站建设进度总结网站文件权限设置
  • 织梦网站如何做地区分站厦门网站代理
  • 模板做网站优缺点网络营销推广公司获客
  • 如何做网站充值用flash做网站超链接
  • 网站图片管理系统临沂百度推广多少钱
  • 渭南建设用地规划查询网站教育局两学一做网站
  • 无锡专业网站制作的公司长春seo技术
  • 东莞做网站哪家最好电商网站支付接口
  • 西安火车站网站建设深圳做百度网站
  • asp网站助手金融学类就业方向及就业前景
  • 用点心做点心官方网站现在手机网站用什么做的好
  • 唐山市路桥建设有限公司网站专门写文章的网站
  • 东莞食品网站建设湖南企业竞价优化
  • 吉林网站建设找哪家湛江大型网站模板建设
  • 中国建设监理业协会网站国产cms
  • 计算机网站建设与维护wordpress 500错误
  • 元器件网站开发客户wordpress伪静态301错误
  • 网站设计排行怎么样用ppt做网站
  • 网站联盟名词解释网站建设 上海网站建设
  • 南通优普高端网站建设wordpress 煎蛋主题