
























Hash类型也称为Hash表、字典等。
Hash表就是一个映射表Map,也是由键值对构成,为了与Map区分,这里的键称为field,值称为value。
注意:Redis的Hash表中的field-value对均为String类型。
格式:hset key field value
注意:如果key不存在,一个新的Hash表被创建,然后进行hset操作。
如果field已经存在,会覆盖旧值。
如果field是Hash表中新建的,并且值设置成功,返回1;如果Hash表中field已经存在,并且旧值被覆盖,返回0。
hset employee name zhangsan age 22
格式:hget key field
注意:如果给定域或者给定key不存在,则返回nil。
格式:hmset key field value [ field value ...]
注意:此命令会覆盖Hash表中已存在的域。
如果key不存在,会创建一个空的Hash表,然后执行hmset操作。
如果命令执行成功,返回ok。
如果key 不是Hash类型,返回一个错误。
格式:hmget key field 【field...】
key 中所有的 field-value 对,返回格式是交替排列的:field1, value1, field2, value2...格式:hmget key
格式:hkeys key
格式:hlen key
格式:hvals key
格式:hsetnx key field value
格式:hdel key field 【field...】
格式:hexists key field
格式:hincrby key field num
格式:hincrbyfloatkey field num
格式:hstrlen key field
Hash型value适合存除对象数据。
key为属性名称,value为描述对象属性的map,对对象属性的修改在Redis中就可以直接完成。
不像String型Value存储对象,那个对象是序列化过的,要修改的话需要先反序列化为对象后再修改,
修改完后再序列化为json串后写入到Redis。
Redis存储数据的value可以是一个String列表类型,即列表中的元素都是String类型。
列表的数据会按照插入顺序进行排序。
该列表的底层实际是一个无头节点的双向链表,所以对列表的头和尾操作性能比较高,但对中间元素的插入与删除的操作性能相对较差。
【rpush】将一个或多个值插入到列表key的表尾;
格式:lpush key value 【value...】 或者 rpush key value 【value...】
注意:如果有多个值,他们会将各个value按照从左到右的顺序依次插入到表头或表尾。
如果key不存在,会创建一个空列表,然后进行操作。
格式:lrange key start stop
格式:llen key
格式:lindex key index
格式:lset key index value
格式:linsert key before/after value value
注意:如果在指定时间内没有任何元素被弹出,则返回一个bil和等待时长。
反之,返回一个含有两个元素的列表,第一个元素是被弹出元素所属的key,第二个元素是被弹出元素的值。
注意:如果source 不存在,返回nil,不执行后面的操作。
如果source 和destination相同·,则将列表的尾元素移动到头部,并返回该元素,这种情况视作列表的旋转操作。
说明:根据count的值,移除列表中与value相等的元素,count的值可以是以下几种:
返回被移除元素的数量。
当key不存在,返回0。因为不存在的key被视作空表。
格式:ltrim key start stop
注意:如果start大于列表的最大下标(llen list 减1),或者start>stop,则返回一个空列表,此时ltrim将列表清空了。
list主要是通过构建不同的数据结构来实现相应的业务功能。
通过lpush+lpop实现栈的数据结构(先进后出。)
通过lpush+rpop实现队列的数据结构(先进先出。)
通过lpush+brpop实现阻塞式消息队列效果。
消息生产者使用lpush从列表左侧插入数据。
brpop的timeout设置为0,表示只要没有数据可弹出,就永久阻塞。
消息消费者的多个客户端使用brpop阻塞式的“抢占”列表尾部数据进行消费,保证了消费的负载均衡与高可用性。
通过lpush+ltrim实现阻塞式消息队列效果。
lpush从列表的左侧向列表中添加数据。
ltrim保持集合的动态有限性。
像企业的末位淘汰、学校的重点班等动态管理,都可以通过这种方式实现。
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。