python redis setex可以设value为list或者其他数据结构吗?

memcache可以设置值为任何数据格式,比如list等等
我在redis里面用setex设置值为list的话,get出来就是字符串

刚接触redis。求解。我要实现此功能的话应该怎样做?

阅读 4k
2 个回答

get set setex 只是针对string 你要是想list 用sets(集合)或者sort sets(有序集合)
setex 是设置字符串,并规定过期时间。不能操作list

具体用法看文档
http://redis.cn/commands.html...
redis所有命令都有

redis setex 命令存放php数组将返回Array, 如果场景确定适合用,就存放前序列化,取时再反序列化,如果是二维数组,建议用Hash数据

redis 数据结构多样化,根据不同的业务场景满足各种不同的需求
Hash 对应的场景(常用,欢迎大家补充讨论)

  1. 产品各参数信息

  2. 用户信息等

  3. 使用过活动专题上的点赞场景等

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 各数据结构(重要),具体根据自己的业务场景使用

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题