1、注意区分字符串和数字
在一次使用set类型数据的过程中,先将一部分数据通过json_encode保存到某一个set的特定键中。
然后,在更新这个字段的时候先判断是否存在,这时候就被一些是整形类型的字段给坑了。
因为,redis中保存的数据是区分整形和字符串的,两者并不相等。如果存进去的和用于判断的字段不完全一致的时候,就会出现有时候可以有时候又不行的诡异bug。
2、注意时间字符串
将时间(例如8:00)作为键值时很容易出现,在数据库中取出来的时间格式为08:00,而用户填写的格式为8:00。这样子,就会导致两次的键值不一致。
3、中文问题
在Hash类型中,field可以使用中文,在程序中使用正常。但是,在终端(RedisDesktopManager 和 telnet)中,不能显示包含中文字段的键值对。
4、hmget问题
hmget可以一次性取出多个值,要特别注意的是,对于不存在的值,会返回false!所以如果对返回的值存在与否进行判断请不要使用isset或者empty函数,可以直接使用===
来直接进行判断!
在进行调试的时候建议使用var_dump函数,可以看到返回结果的类型!
网友评论