这种业务情况用不用另外捣鼓个缓存?
小灰狼 2018-11-07 11:20:46 系统功能大概是:
一个物联网系统。终端通过物联网卡与服务器通信。服务器保存有每个终端设备的业务状态,状态更新不会非常频繁,终端工作时,状态更新周期为5秒,空闲时状态更新为1分钟。另外会有一个 Java Web 服务器会比较频繁地读取这些设备的最新状态。终端设备的数量一般不会超过10W个。
另外,数据库会有几个数据量会比较大的表,用于存储终端设备的业务历史状态。这个表的数据量可能会比较大,如果有业务功能对这个表进行查询,会拉低其它数据库业务性能。
以前我们用 redis 存储设备的最新状态,理由有:
1、专用缓存服务器,速度快
2、redis 支持本地持久化,系统重启时还能保持状态
但现在我感觉这个 redis 有点多余。因为10W的数据量对 MySQL来说不算大,再加上最新的状态数据,如果另建一个表存储的话,也是10W级,也不算大。应用程序直接从数据库中查询的话,应该不存在什么性能瓶颈吧?只要我内存足够大(其实也不需要非常大),MySQL 自身的缓存机制就能应付!