Redis 注意事项

96
zshanjun
2017.06.28 17:31* 字数 404

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函数,可以看到返回结果的类型!

日记本
Web note ad 1