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

遵义住房和城乡建设局网站网站源码资源

遵义住房和城乡建设局网站,网站源码资源,电商网站怎么做支付,wordpress js图片一、前言 有需求,趁热调试出了嵌入式系统的算法环境安装和桌面,趁热继续调试进阶功能redis通信,redis与sqlite各有千秋,redis可以作为在嵌入式系统下多个程序之间相互通信的中间件,很方便,谁也不用嵌入子程…

一、前言

有需求,趁热调试出了嵌入式系统的算法环境安装和桌面,趁热继续调试进阶功能redis通信,redis与sqlite各有千秋,redis可以作为在嵌入式系统下多个程序之间相互通信的中间件,很方便,谁也不用嵌入子程序,大家一起通过redis共享数据,这个感觉在数据通信方向又有个质的提升了

PS:虽然只是会使用,但是能使用起来,说明成长了!

目录

1.为什么不使用UDP或者TCP,而选择redis通信

2.安装redis环境(windows)

3.嵌入式设备中redis适配

下载资源

二、环境

windows10

qt5.7

python3.8

redis5.0.14.1

三、正文

1.为什么不使用UDP或者TCP,而选择redis通信

直接使用 TCP 或 UDP 进行通信

优点

简单直接:实现相对简单,不需要额外安装和配置 Redis 服务。使用标准的网络编程接口,如 Python 的socket库和 Qt 的QTcpSocket、QUdpSocket类,就可以快速搭建起通信机制。

轻量级:没有额外的中间件依赖,减少了系统的复杂度和资源消耗。对于简单的通信需求,TCP 或 UDP 可以提供足够的性能。

灵活性高:可以根据具体需求自定义通信协议,能够更好地适应不同的应用场景。

缺点

缺乏数据共享:TCP 和 UDP 主要用于传输数据,不提供数据共享和存储功能。如果需要在多个程序之间共享数据,需要自己实现数据存储和同步机制。

缺乏消息队列:对于异步消息处理和任务调度,TCP 和 UDP 没有内置的消息队列功能,需要自己实现队列机制。

可靠性和扩展性有限:在处理大量并发连接和高并发请求时,TCP 和 UDP 的可靠性和扩展性可能会受到限制。

使用 Redis 进行通信

优点

数据共享:Redis 是一个内存数据库,支持多种数据结构(如字符串、哈希、列表、集合等),可以方便地在多个程序之间共享数据。例如,Qt 程序和 Python 程序可以同时访问和修改 Redis 中的数据,实现数据的实时同步。

消息队列:Redis 提供了消息队列功能,如LIST数据结构可以用作简单的消息队列。可以使用LPUSH和RPOP等命令实现消息的发布和订阅,方便实现异步消息处理和任务调度。

高并发处理:Redis 是单线程的,通过 I/O 多路复用技术实现高并发处理。它可以处理大量的并发连接和高并发请求,适合用于分布式系统和高并发场景。

持久化:Redis 支持数据持久化,可以将内存中的数据保存到磁盘上,防止数据丢失。在程序重启后,可以从磁盘中恢复数据,保证数据的安全性和可靠性。

分布式锁:Redis 提供了分布式锁功能,可以用于解决多个程序之间的并发访问问题。例如,在多个程序同时访问共享资源时,可以使用 Redis 的分布式锁来保证资源的独占性。

缺点

复杂性增加:需要额外安装和配置 Redis 服务,增加了系统的复杂度和维护成本。

性能开销:由于 Redis 是一个独立的服务,数据的读写需要通过网络进行,会引入一定的性能开销。

总结

如果你的通信需求比较简单,只需要进行简单的数据传输和交互,直接使用 TCP 或 UDP 进行通信是一个不错的选择。如果你的应用场景需要数据共享、消息队列、高并发处理等功能,使用 Redis 进行通信可以带来更多的便利和优势。

2.安装redis环境(windows)

首先确保python环境和QT环境都是可以正常运行的

独立测试启动程序都没有问题

之后安装redis服务软件

Windows电脑环境安装(windows、qt和python都要安装redis环境)

1.Windows安装redis

下载Redis-x64-5.0.14.1.msi文件进行安装。此种方式不仅会将Redis安装目录添加到系统环境变量,还会安装一个Redis系统服务。双击msi安装

参考链接https://blog.csdn.net/collman/article/details/141638356

参考链接Windows下Redis的安装和使用 - 哔哩哔哩

修改redis.windows.conf文件,504行添加requirepass 123456

使用powershell终端,进入redis安装目录, cd D:/LenovoSoftstore/Install/redis

启动服务,网上有的直接发送redis-server,我这需要发送./redis-server

验证成功

执行启动redis

cd D:/LenovoSoftstore/Install/redis

redis-server --service-start

查看redis运行状态

tasklist /FI "IMAGENAME eq redis-server.exe"

测试服务运行状态发送 redis-cli,之后输入set m_int 10返回OK在输入get m_int返回10

获取已经开启的字段列表,命令keys *  查看列表key键值get xxx

详细的redis用法继续上网查吧,分什么订阅和发布,好多模式,这里只是简单测试

2.Qt安装redis

qt调用redis有很多种方式,有的要把redis打包动态库调用,有的要引用一堆文件,资料很少,最终在网上下载找出一种类似调用开源第三方控件的方式,把redis的源码嵌入到程序中,不受编译环境限制,这样qt程序无论时在window下测试还是在虚拟机中交叉编译都可以通过,最终也可以在目标机中运行,程序见test_redis_py_qt.rar重新用AI整合联调python测试

验证,开启redis服务后redis-server --service-start运行qt程序

连接成功

关闭redis服务后redis-server --service-stop运行qt程序

提示错误信息,qt与windows的redis连接交互成功

3.python安装redis

使用命令安装pip install redis

使用pip list查看列表

测试python是否能够调用redis,使用powershell的cd命令进入到测试程序目录

开启redis服务后redis-server --service-start

执行python pytest_enviroment.py(是一个环境测试程序,不是整体的测试程序)

关闭redis服务后redis-server --service-stop

执行python pytest_enviroment.py

报一堆错误信息,反正就是失败

4.整体测试

上面测试都是简单的测试是否能连接,整体测试是将三者结合起来一起测试通信,首先redis服务开启,之后运行qt程序和python程序,qt程序就是可执行文件,双击运行即可,python程序开启5个控制台,都进入到程序目录,执行python xxx.py命令启动程序,之后进行测试

开启服务redis-server --service-start

进入python程序目录cd xxx

启动qt程序

启动python程序

Numpy不能版本太高,要在1.24以下,下面命令降级numpy,否则有俩py程序运行异常

pip install numpy==1.23.5 -i https://mirrors.aliyun.com/pypi/simple/

继续启动程序

python pytest_redis_numpy.py

python pytest_redis_pandas.py

python pytest_redis_tensorflow.py

python pytest_redis_scikitlearn.py

python pytest_redis_matplotlib.py

全部启动成功在终端中循环运行,并打印信息

之后用qt程序依次点击上方的测试按键,会将消息发送给redis,之后python程序监听redis的message消息,处理并返回相应的数据给redis,qt程序订阅redis的消息就会在线程中查询到,之后在textedit显示出来,qt程序订阅了必须用线程处理,否则程序会卡死。

测试成功图,qt程序按下按键py程序收到后有不同的打印信息,最后qt程序窗口显示内容

目前qt程序和python程序在redis服务异常关闭时都会停止运行,这点暂时不处理,先保证环境都是正常启动运行

服务一停,全挂!!!

3.嵌入式设备中redis适配

四、结语

下载资源说明:

资源内部由window下的redis安装包,有qt使用redis的源码包,不使用网上大部分的打包动态库的方式,而是使用调用redis源码文件的形式,好处就是qt内嵌redis的工程可以任意移植到其他平台交叉编译,因为我就是这个需求,在window下只是测试,实际我的需求环境是银河麒麟系统下redis服务,负责多个程序之间的数据通信交互,有qt的程序和python的程序,如果直接用qt调用python程序,缺点很多,很卡,很慢,懂得都懂,要不也不会研究redis了

下载资源点此,有惊吓🤭

http://www.dtcms.com/wzjs/562226.html

相关文章:

  • 广州网站推广¥做下拉去118cr千套模板快速自助建站
  • 北京建设网站兼职普工搜索引擎关键词怎么选
  • 周口网站建设那个网站做拍手比较好
  • 网站开发项目管理步骤seo专员简历
  • 福州做网站多少钱深圳市水榭花都房地产公司
  • 怎么在子域名建立一个不同的网站wordpress 取消边栏
  • 做网站有什么软件吗火车头wordpress发布模块4.9
  • 湖州高端网站建设重庆1000元网站建设
  • 常州市网站建设公司跨境电商平台介绍
  • 大气科技类企业公司网站源码丹阳网站
  • 上海网站建设案例新型网站设计
  • 广州正规网站制作公司哪些网站可以做go注释
  • 在网站中动态效果怎么做网站搜索优化官网
  • 西乡建网站做网站图片要求
  • 可以为自己的小说建设网站wordpress最能玩
  • 做淘宝有哪些推广网站如何在国税网站做票种核定
  • 效果最好的推广软件佛山百度快速排名优化
  • 手机做app任务的网站苏州市建设人才网官方网站
  • 青岛建站方案广西住建网官网
  • 北京网站制作公司兴田德润可信赖合肥模板网站建设费用
  • 1网站免费建站网站做图片的大小
  • 网页制作与网站建设实战大全培训心得体会怎么写
  • 重庆北京网站建设自己有网站怎么优化
  • 公司网站介绍模板 htmlwordpress按修改时间排序
  • 北京中国建设工程造价管理协会网站自助建站系统免费模式
  • 青岛工程建设管理信息网站下载o2o电子商务网站开发与运营
  • 龙华住房和建设局网站怎么无法登陆软件下载
  • 网站建设与维护试题a卷做网站登录的需求分析
  • wordpress 主题站品牌网站建设特色大蝌蚪
  • 西宁seo网站建设二级a做爰片免费视网站