go语言写的, 用于数据库表中多表多个字段的缓存. 主要适用于在高并发读多,写少的情况, 并减少数据库操作.支持同步或异步更新数据库,支持rpc和grpc.
go语言写的, 用于数据库多表多字段的缓存. 把读多写少的表,缓存在内存中,减少数据库的压力, 加快读取速度.是支持高并发读写. 主要适用于在读多,写少的情况下.支持数据库实时同步和异步同步.支持rpc和grpc.
配置简单:
只需下面一步,修改配置文件中数据库连接,和需要缓存的表.
修改程序目录下二个配置文件.
一.config.conf(配置数据库连接和日志,rpc和grpc).
二.cache.conf(配置需要缓存的表及列,是否实时更新,还是异步更新数据库)
目前只支持主键为一个列,也可以用自增列做为唯一键.
缓存数据可以是字符,整型,浮点,日期(datetime,timestamp).
(注意数据库连接参数:&parseTime=true&loc=Local)
如果在连接时加上参数:&parseTime=true 返回数据带时区信息.现只是保存为字符串,如果需要转换time类型,需注意数据库和服务器的时区)
parseTime=true,不加这个参数,数据库返回时就不带时区.
parseTime是查询结果是否自动解析为时间. loc是MySQL的时区设置.
目前如果有更新,先更新数据库,再更新缓存.注意:更新数据库,分为实时更新同步数据库和异步更新数据库,在cache.conf文件中配置.如果实时更新,先更新数据库,再更新缓存.异步更新,会先把数据保存于当前目录下的文件async_sql.sql,再更新数据库,如果更新失败,会把失败的sql的语句保存于async_sql_failed.sql文件.
支持日志系统: s 标准输出屏幕, f 记录到日志, e 发送邮件, a 所有(包括s,f,e)(需先在配置文件config.con