苹果六激活锁图片6手机激活锁

6346人阅读
redis(15)
redis中hash类型操作命令如下:
hset key field value 设置hash field为指定值,如果key不存在,则先创建
hget key field 获取指定的hash field
hmget key filed1....fieldN 获取全部指定的hash filed
hmset key filed1 value1 ... filedN valueN 同时设置hash的多个field
hincrby key field integer 将指定的hash filed 加上给定值
hexists key field 测试指定field是否存在
hdel key field 删除指定的hash field
hlen key 返回指定hash的field数量
hkeys key 返回hash的所有field
hvals key 返回hash的所有value
hgetall key 返回hash的所有filed和value
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:1054301次
积分:10299
积分:10299
排名:第1217名
原创:188篇
转载:84篇
评论:61条
(1)(1)(1)(1)(1)(2)(2)(2)(3)(1)(1)(6)(1)(3)(1)(4)(9)(1)(3)(17)(11)(4)(5)(9)(6)(5)(7)(6)(13)(8)(12)(22)(18)(10)(2)(13)(3)(18)(9)(22)(10)rfyiamcool 的BLOG
用户名:rfyiamcool
文章数:423
评论数:2196
访问量:1338080
注册日期:
阅读量:5863
阅读量:12276
阅读量:364315
阅读量:1059639
51CTO推荐博文
随着这段时间做项目,又拾起来redis这个nosql利器。。。以前redis用的最多方面是string的kv存储,队列和mq通信。这段时间重新系统的学习了redis。 关于redis hash哈希的解释:(很官方)redis hash是一个string类型的field和value的映射表.它的添加,删除操作都是O(1)(平均).hash特别适合用于存储对象。相较于将对象的每个字段存成单个string类型。将一个对象存储在hash类型中会占用更少的内存,并且可以更方便的存取整个对象。省内存的原因是新建一个hash对象时开始是用zipmap(又称为small hash)来存储的。这个zipmap其实并不是hash table,但是zipmap相比正常的hash实现可以节省不少hash本身需要的一些元数据存储开销。尽管zipmap的添加,删除,查找都是O(n),但是由于一般对象的field数量都不太多。所以使用zipmap也是很快的,也就是说添加删除平均还是O(1)。如果field或者value的大小超出一定限制后,redis会在内部自动将zipmap替换成正常的hash实现. 这个限制可以在配置文件中指定单个string类型。将一个对象存储在hash类型中会占用更少的内存,并且可以更方便的存取整个对象。省内存的原因是新建一个hash对象时开始是用zipmap(又称为small hash)来存储的。这个zipmap其实并不是hash table,但是zipmap相比正常的hash实现可以节省不少hash本身需要的一些元数据存储开销。尽管zipmap的添加,删除,查找都是O(n),但是由于一般对象的field数量都不太多。所以使用zipmap也是很快的,也就是说添加删除平均还是O(1)。如果field或者value的大小超出一定限制后,redis会在内部自动将zipmap替换成正常的hash实现. 这个限制可以在配置文件中指定hash-max-zipmap-entries 64 #配置字段最多64个hash-max-zipmap-value 512 #配置value最大为512字节上面说完,就该我了:最近在做一个域用户管理的相关的东西。 要生成两个临时的token。 要是单纯的 一个key 一个value 针对value expire时间限制的话是完全可以的。 但是一对多话,我就不知道咋搞了。。。 我想了很多的方案。 改用复杂的mysql 加了时间的对比。 实现是实现了,但是方法很搓。。。 后来再看redis文档,才发现,redis 有个hash的东西。 可以做成配置字段的概念。比如 :(大家看下面字段,就明白了redis的hash表了吧)运维部 高xx c开发运维部 李xx cdn运维运维部 峰云 啥都行无线部 王xx 前端视频部 樊xx ruby下面介绍hash相关命令:1. hset
HSET key field value
将哈希表key中的域field的值设为value。如果key不存在,一个新的哈希表被创建并进行hset操作。如果域field已经存在于哈希表中,旧值将被覆盖。
HGET key field
返回哈希表key中指定的field的值。
HSETNX key field value
将哈希表key中的域field的值设置为value,当且仅当域field不存在。若域field已经存在,该操作无效。如果key不存在,一个新哈希表被创建并执行hsetnx命令。
HMSET key field value [field value ...]
同时将多个field - value(域-值)对设置到哈希表key中。此命令会覆盖哈希表中已存在的域。如果key不存在,一个空哈希表被创建并执行hmset操作。
HMGET key field [field ...]
返回哈希表key中,一个或多个给定域的值。如果给定的域不存在于哈希表,那么返回一个nil值。因为不存在的key被当作一个空哈希表来处理,所以对一个不存在的key进行hmget操作将返回一个只带有nil值的表。
6. hgetall
HGETALL key
返回哈希表key中,所有的域和值。在返回值里,紧跟每个域名(field name)之后是域的值(value),所以返回值的长度是哈希表大小的两倍。
HDEL key field [field ...]
删除哈希表key中的一个或多个指定域,不存在的域将被忽略。
返回哈希表key对应的field的数量。
9. hexists
HEXISTS key field
查看哈希表key中,给定域field是否存在。
获得哈希表中key对应的所有field。
获得哈希表中key对应的所有values。
12. hincrby
为哈希表key中的域field的值加上增量increment。增量也可以为负数,相当于对给定域进行减法操作。如果key不存在,一个新的哈希表被创建并执行hincrby命令。如果域field不存在,那么在执行命令前,域的值被初始化为0。对一个储存字符串值的域field执行hincrby命令将造成一个错误。本操作的值限制在64位(bit)有符号数字表示之内。下面是我用python写的实例,大家用ipython的时候,会有很好的提示的,在python中的用法,基本和redis-cli差不多的。redis list 类型:push pop 队列先进先出 栈先进后出 list 既可以作为栈又可以作为队列List 是一个链表结构,主要功能是push,pop,获取一个范围的所有值等等,操作中key理解为链表的名字In [91]: r.lpush('url', 'xiaorui.cc')
Out[91]: 1L
In [92]: r.lpush('url', '')
Out[92]: 2L
In [93]: r.lpush('url', '')
Out[93]: 3L
In [94]: r.lpush('url', 'qq.com')
Out[94]: 4L
In [95]: r.lpush('url', '')
Out[95]: 5L
In [96]: r.lrange('url', 0,-1)
Out[96]: ['', 'qq.com', '', '', 'xiaorui.cc']
In [97]: r.rpop("url")
Out[97]: 'xiaorui.cc'
In [98]: r.rpop("url")
Out[98]: ''
In [99]: r.rpop("url")
Out[99]: ''
In [100]: r.rpop("url")
Out[100]: 'qq.com'
In [101]: r.rpop("url")
Out[101]: ''redis的list的详细点的用法:1
从list 头部压入一个元素
lpush mylist "word"
lpush mylist "ehll"
lrange mylist 0 -1
lrange mylist 0 -1
0代表从头部
从尾部压入一个元素
rpush list2
rpush list2
lrange list2
linsert从中间压入一个元素
lpush mylist3
two 直接压入three
lpush list3 one
lpush list3 two
linsert list3 before one three
lset 给某个元素赋值
lpush list3 one
lpush list3 two
lset list3 1 three
的值被改变成three
从key 对应list中删除n个和value相同的元素
(n&0从尾部删除,n=0全部删除)
list6 2 one
删除2个和one一样值元素
保留指定key范围内的数据
list8 1 -1
保留的元素范围,其余的都删除
从list 头部删除一个元素,并返回删除的元素
lpop mylist
从list 尾部删除一个元素,并返回删除的元素
从尾部删除一个元素并从头部添加一个元素
把mylist1 元素删除 添加到mylist2中
11 lindex 返回名称为key的list 中index 位置的元素
lindex mylist 0
lindex mylist 1
llen 返回链表中的元素个数
mylist对于 redis set的使用:sadd(key, member):向名称为key的set中添加元素member
srem(key, member) :删除名称为key的set中的元素member
spop(key) :随机返回并删除名称为key的set中一个元素
smove(srckey, dstkey, member) :移到集合元素
scard(key) :返回名称为key的set的基数
sismember(key, member) :member是否是名称为key的set的元素
sinter(key1, key2,…key N) :求交集
sinterstore(dstkey, (keys)) :求交集并将交集保存到dstkey的集合
sunion(key1, (keys)) :求并集
sunionstore(dstkey, (keys)) :求并集并将并集保存到dstkey的集合
sdiff(key1, (keys)) :求差集
sdiffstore(dstkey, (keys)) :求差集并将差集保存到dstkey的集合
smembers(key) :返回名称为key的set的所有元素
srandmember(key) :随机返回名称为key的set的一个元素nosql用起来,性能好,使用简单,推荐大家经常用用~
了这篇文章
类别:┆阅读(0)┆评论(0)
00:17:01 00:26:17 07:29:09 11:06:06 21:39:41 21:41:31 23:44:55 23:45:15 23:45:44 23:47:35 05:21:50 15:32:23 15:32:33如何设置redis中hash的field的expire ? - 开源中国社区
当前访客身份:游客 [
当前位置:
& & & &&redis.hset(&website&,&&google&,&&&);&
&&&&&&&&redis.hset(&website&,&&baidu&,&&&);&
&&&&&&&&redis.hset(&website&,&&sina&,&&&);&
如何 单独设置 google ,baidu,sina,的
共有2个答案
<span class="a_vote_num" id="a_vote_num_
expire只对顶级key有效,你可以这样用
redis.setex(&website_google&, 300, &&);& redis.setex(&website_baidu&, 300, &&);& redis.setex(&website_sina&, 300, &&);&
--- 共有 3 条评论 ---
get操作是O(1)
(2年前)&nbsp&
: 没事,这点消耗对redis的性能可以说没影响,你也感觉不到。
(3年前)&nbsp&
这样用的话,
Get操作的算法复杂度是不是就o(n)了
要扫描所有key
(3年前)&nbsp&
<span class="a_vote_num" id="a_vote_num_
好像没办法,相关的issue还是open状态
可以用下面的方法代替&
redis 127.0.0.1:6379& hset expire:me name tom
(integer) 0
redis 127.0.0.1:6379& hget expire:me name
redis 127.0.0.1:6379& expire expire:me 10
(integer) 1
redis 127.0.0.1:6379& ttl expire:me
(integer) 8
更多开发者职位上
有什么技术问题吗?
疯狂的艺...的其它问题
类似的话题Redis 教程
Redis 哈希(Hash)
Redis hash 是一个string类型的field和value的映射表,hash特别适合用于存储对象。
Redis 中每个 hash 可以存储 232 - 1 键值对(40多亿)。
127.0.0.1:6379&
HMSET runoobkey name "redis tutorial" description "redis basic commands for caching" likes 20 visitors 23000
127.0.0.1:6379&
HGETALL runoobkey
2) "redis tutorial"
3) "description"
4) "redis basic commands for caching"
5) "likes"
7) "visitors"
8) "23000"
在以上实例中,我们设置了 redis 的一些描述信息(name, description, likes, visitors) 到哈希表的 runoobkey 中。
Redis hash 命令
下表列出了 redis hash 基本的相关命令:
序号命令及描述
1 删除一个或多个哈希表字段
2 查看哈希表 key 中,指定的字段是否存在。
3 获取存储在哈希表中指定字段的值。
4 获取在哈希表中指定 key 的所有字段和值
5 为哈希表 key 中的指定字段的整数值加上增量 increment 。
6 为哈希表 key 中的指定字段的浮点数值加上增量 increment 。
7 获取所有哈希表中的字段
8 获取哈希表中字段的数量
9 获取所有给定字段的值
10 同时将多个 field-value (域-值)对设置到哈希表 key 中。
11 将哈希表 key 中的字段 field 的值设为 value 。
12 只有在字段 field 不存在时,设置哈希表字段的值。
13 获取哈希表中所有值
14HSCAN key cursor [MATCH pattern] [COUNT count] 迭代哈希表中的键值对。
更多命令请参考:
反馈内容(*必填)
截图标记颜色
联系方式(邮箱)
联系邮箱:
投稿页面:
记住登录状态
重复输入密码

我要回帖

更多关于 苹果六激活锁怎么解锁 的文章

 

随机推荐