redis setex 命令存放php数组将返回Array, 如果场景确定适合用,就存放前序列化,取时再反序列化,如果是二维数组,建议用Hash数据
redis 数据结构多样化,根据不同的业务场景满足各种不同的需求
Hash 对应的场景(常用,欢迎大家补充讨论)
产品各参数信息
用户信息等
使用过活动专题上的点赞场景等
Hash 常见的命令
hgetall - 以列表形式返回哈希表的域和域的值,若key不存在,返回空列表
hget - hget key field 返回哈希表key中给定域field 的值
hmset - hmset key field value [field value ...] 同时设置多个值,成功返回ok
hsetnx - hsetnx key field value 如果域field 已经存在,该操作无效,返回0,成功返回1
hset - hset key field value 一个新的哈希表被创建并进行设置值,如果域field已经存在于哈希表中,旧值被覆盖
hgetall 取得全部属性 但是如果内部Map的成员很多,那么涉及到遍历整个内部Map的操作,由于Redis单线程模型的缘故,这个遍历操作可能会比较耗时,而另其它客户端的请求完全不响应,这点需要格外注意。
hlen - 返回哈希表key中域的数量
hvals - 返回哈希表key中的所有值
hdel - 删除一个或多个的域,例: hdel key field0 field1 返回成功删除的数量,成功删除2个即返回2
# 其它看官网文档
可以仔细了解redis 各数据结构(重要),具体根据自己的业务场景使用