yac icon indicating copy to clipboard operation
yac copied to clipboard

key不存在时,get方法返回值是false感觉不合适

Open danvinhe opened this issue 10 years ago • 7 comments

如果业务本身需要,存的value为false时,很容易混淆。不知道是不存在这个key,还是key的值就是false。两点建议:

  1. key不存在时,返回null
  2. set时,value不允许是null

danvinhe avatar Jan 07 '15 12:01 danvinhe

@danvinhe 那如果业务本身需要,存的value为null呢?

Neeke avatar Jan 10 '15 07:01 Neeke

@Neeke 是的,这个比较惆怅。我们的解决方案是存以前把$value,变成array($value)

danvinhe avatar Jan 13 '15 06:01 danvinhe

@Neeke null本身就是未知, 你自己都不知道, 你还设置啥. key不存在, 返回null应该是正确的.

liufang avatar Jan 25 '15 10:01 liufang

我觉得这种情况应该就不需要使用这种方式缓存了 假如真想缓存 做变换处理 存储一个特殊字符(对了 难道这种不是只能做字符串存储吗?)

geekli avatar Jan 25 '15 14:01 geekli

有在线上跑的么?

captainQW avatar Dec 08 '15 06:12 captainQW

1. key不存在时,返回null
2. set时,value不允许是null

@laruence 我也觉得这样比较好,一般PHP框架数据库ORM返回值的时候,如果不存在就返回null

yyxx9988 avatar Jul 10 '16 05:07 yyxx9988

返回false没有问题,比如yii2的缓存接口就是返回false:http://www.yiichina.com/doc/guide/2.0/caching-data

gouchaoer avatar Aug 28 '16 14:08 gouchaoer