前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Apriso 中启用 Redis 存储会话提升性能

Apriso 中启用 Redis 存储会话提升性能

作者头像
李英杰同学
发布2023-09-02 08:30:12
3000
发布2023-09-02 08:30:12
举报
文章被收录于专栏:智能制造社区智能制造社区

本文作者陈捌华,感谢捌老师倾情奉献。

概述

Apriso 从 2022 版本开始在基础架构中增加了对 Redis 内存数据库的支持,用于存放会话状态、快速缓存存储。2022 之前版本是存储在 ASP.NET State Service 和 DELMIA Apriso State Service 中。将用户会话存储在系统服务外的 Redis 数据库中可以避免故障转移集群切换节点时丢失用户会话,避免用户重新登录。

可以使用 Redis 的 DELMIA Apriso服务:

  • DELMIA Apriso Portal (IIS将直接在 Redis 中存储用户会话状态,而不是 ASP.NET State Service)
  • DELMIA Apriso 状态服务 (用户会话状态将存储在 Redis 中,而不是本地进程中)。

Apriso支持Redis单点和集群模式:

  • Redis (stand alone)
  • Redis Sentinel (provides high availability)

本文作为演示,介绍如何在 Apriso 中启用 Redis (stand alone)模式下作为会话状态服务器。

服务器架构

启用Redis后的服务器架构如下图,Poral 和 App 服务将连接到 Redis 服务器进行缓存。

Redis安装和配置

第一步:下载Redis

Redis 官方下载(官方地址:http://redis.io/download)只能用于 Linux 环境下,所以要在 Windows 环境下安装 Redis 就不能从官方进行下载了。为了能够在 Windows 平台安装 Redis,微软的 Microsoft Open Tech团队为我们开发了 Windows 版本下 Redis。下载地址为:http://github.com/MSOpenTech/redis

备注:建议在生产环境下,选择直接在 Linux 安装 Redis 的模式,本文介绍中使用 Windows 版本 Redis。

第二步:安装 Redis

1、 将 Redis-x64-3.2.100.zip 下载到D盘,解压后将文件夹重新命名为 redis,运行文件夹下面的 redis-server.exe。

2、 弹出上图窗体后,先不要关闭,否则就无法访问服务端了。此时在Windows 的运行中输入 cmd 命令,切换到 redis 目录下运行redis-cli.exe

3、 Redis 重启和服务安装命令:

3.1 Redis重启:

考虑到 Redis 有可能正在将内存中的数据同步到硬盘中,如果强行终止Redis 进程有可能会导致数据丢失。正确停止 Redis 的方式应该是向Redis发送 shutdown 命令,通过客户端来关闭 Redis 服务端,方法为

当 Redis 收到 shutdown 命令后,会断开所有的客户端连接,然后根据配置执行持久化,最后退出。

3.2 Redis 安装成 Windows 服务:

进入到 redis 目录下,然后执行 redis-server --service-install redis.windows-service.conf,如下图:

在 Windows 的运行中输入 services.msc 命令进入服务,此时可以看到 Redis 服务已经创建成功。

注意:此时 Redis 状态还处于未启动状态,双击并启动即可。

卸载命令: redis-server --service-uninstall

3.3 Redis密码配置:

首先使用 shutdown 命令关闭 Redis 服务端,然后使用文本编辑器(这里使用 Notepad++),打开 Redis 服务配置文件 redis.windows-service.conf,找到含有 requirepass 字样的地方,在其下面追加一行,输入 requirepass 12345并保存。

这是访问 Redis 时所需的密码,一般测试情况下可以不用设定密码。不过,即使是作为本地访问,也建议设定一个密码,此处以简单的 12345 来演示。

在服务中启动 Redis 服务后,在命令操作符窗体中重新登录 Redis。

此时随便输入一个命令,发现无法执行命令了:

输入授权命令 auth password 即可正常操作:

第三步:下载 Redis 客户端

这里主要介绍 Redis Client 的下载安装及基本使用。

RedisClient 是 Redis 客户端的 GUI 工具,使用 Java swt 和 jedis 编写,可以方便开发者浏览 Redis 数据库。该软件支持简体中文,非常适合国内用户使用,不需要汉化就可以直接使用。RedisClient 将 Redis 数据以资源管理器的界面风格呈现给用户,可以帮助 Redis 开发及维护人员方便地增加、删除、修改、查询 Redis 数据,完全不需要了解 Redis 命令。另外还可以让用户方便地拷贝、粘贴、导入、导入Redis数据,同行进行排序。

RedisClient 下载地址:https://github.com/caoxinyu/RedisClient

下载后直接解压,不需要安装即可使用。

双击打开 exe 文件(此处是 redisclient-win32.x86.2.0.exe),选择View->Language->中文,然后选择服务器->添加,输入相关连接信息->确认。

成功后界面如下:

默认数据库数量为16个(db0-db15),选择数据库(如果是命令行操作,默认是操作db0,要指定其它库,需要select 1(1为数据库下标)),新建自己想建的数据类型即可,这不像关系型数据库,并没有表的概念。

Apriso配置

第一步:数据库连接配置

打开 Configuration manager 程序,进入数据库连接(Database Connection)标签页进行配置:

  • Provider Type: Redis,默认为“Inprocess”
  • Darabase server :数据库地址
  • Port :数据库端口号
  • Database index :数据库顺序号,默认(0-15)
  • Password :数据库授权密码
  • Additional parameters: Redis 哨兵模式(Redis Sentinels)服务器地址名称配置,用于 Redis 集群应用,可以不需要填写。格式如:127.0.0.1:26381,serviceName=myMaster,allowAdmin=true其中 serviceName 参数的值必须与 sentinel.conf 文件中配置的 sentinel 监视器的名称。

第二步:配置文件Web.config修改

打开 C:\Program Files\Dassault Systemes\DELMIA Apriso2023\WebSite\Portal

1、 修改 sessionState,进行注释和取消注释

其中 timeout 的值需要和 Central Configuration 中的PortalSessionTimeout 值保持一致。

2、 修改 Session,进行注释和取消注释

3、 取消注释:<add key="aspnet:AllowConcurrentRequestsPerSession" value="true"/>

修改完成后重新启动Apriso服务。

验证和测试

打开 Portal、PB、Desktop Client 等应用,验证是否能够正常连接登录,比较修改后登录时间长短,在单机用户环境下性能还是有不少提升的,具体真正效果待验证。

使用 Redis Client打开,数据库是否记录 session state,Cache 等状态,可以看到在db0下自动生成了 Apriso 相关 Key-Value 信息。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-05-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 智能制造社区 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档