项目中使用Redis来记录用户的上线和下线信息,其中用到了集合(sets)类型,某用户上线时,向sets中添加数据,下线时将相应数据从sets中删除,考虑当该用户的所有实例都下线时,需要将sets删除. 因为是并发操作,就考虑到判断为空后进行删除操作的原子性,查了一堆资料,都已经写好了相应的lua脚本(因为Redis执行lua脚本能保证原子性): ]) == then ]) else end 结果后来发现Redis中已经自动实现了该功能,也就是所有聚合类型:lists,sets, Sorted
mysql数据库有一个wait_timeout的配置,默认值为28800(即8小时). 在默认配置不改变的情况下,如果连续8小时内都没有访问数据库的操作,再次访问mysql数据库的时候,mysql数据库会拒绝访问. 查看超时时间:show variables like '%timeout%';闲置连接的超时时间由wait_timeout控制.默认8小时. 解决方案: 第一种途径使用命令行在mysql提示符下>set global wait_timeout=1814400这种方式是一种临时方法
mysql int类型字段插入空字符串时自动转为0 如果不想转的话可以修改配置文件 修改 my.ini 文件. # Set the SQL mode to strictsql-mode=”STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION” 改为: # Set the SQL mode to strictsql-mode=”NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION”
需求: 在我们的项目里希望JsonString传入日期类型值为空时,JSONObject.toBean时可以将Java对象的该日期属性设为null. 解决过程: json-lib反序列化Json字符串为Java对象,可以通过以下代码处理日期字段: public static <T> T JsonToBean(Class<T> clazz, String JsonString) { JSONUtils.getMorpherRegistry().registerMorpher( new
本博文的主要内容有 .MySQL Server 5.5系列的下载 .MySQL Server 5.5系列的安装 .MySQL Server 5.5系列的使用 .MySQL Server 5.5系列的卸载 注意啊! 对于noinstall方式安装的MySQL,系统的参数配置.服务的启动和关闭都需要手工在命令窗口中完成. 对于图形化方式安装的MySQL,提供了一个图形化的实例配置向导,可以引导用户逐步进行实例参数的配置. 说明 首先,说明,在mysql官网里,没有mysqlSetup.exe,这是自
字段类型 数值 MySQL 的数值数据类型可以大致划分为两个类别,一个是整数,另一个是浮点数或小数.许多不同的子类型对这些类别中的每一个都是可用的,每个子类型支持不同大小的数据,并且 MySQL 允许我们指定数值字段中的值是否有正负之分(UNSIGNED)或者用零填补(ZEROFILL). INT在 MySQL 中支持的 5 个主要整数类型是 TINYINT,SMALLINT,MEDIUMINT,INT 和 BIGINT.这些类型在很大程度上是相同的,只有它们存储的值的大小是不相同的.MySQL
本博文的主要内容有 .MySQL Server 5.5系列的下载 .MySQL Server 5.5系列的安装 .MySQL Server 5.5系列的使用 .MySQL Server 5.5系列的卸载 注意啊! 对于noinstall方式安装的MySQL,系统的参数配置.服务的启动和关闭都需要手工在命令窗口中完成. 对于图形化方式安装的MySQL,提供了一个图形化的实例配置向导,可以引导用户逐步进行实例参数的配置. 说明 首先,说明,在mysql官网里,没有mysqlSetup.exe,这是自
索引是快速搜索的关键.MySQL索引的建立对于MySQL的高效运行是很重要的.下面介绍几种常见的MySQL索引类型. 在数据库表中,对字段建立索引可以大大提高查询速度.假如我们创建了一个 mytable表: CREATE TABLE mytable( ID INT NOT NULL, username VARCHAR(16) NOT NULL ); 我们随机向里面插入了10000条记录,其中有一条:5555, admin. 在查找username="admin"的记录 SELECT *