本网站可以通过分类标签帮助你快速筛选出你想看的文章,记住地址:www.Facec.cc

Redis- Hash类型和List类型 命令合集

Hash类型

hash key field1 value1 field2 value2
注意: 在这里key为hash表名, 称为field, 值依然为value
注意:hash类命令 首字母开头都是h

1. hset student name "wdf" age 20

创建一个student的表,里边有两个field字段 name和age

2. hgetall key

获取在哈希表中指定 key 的所有字段和值

> hgetall student
name
wdf
age
20

3. hdel key field1 [field2]

删除一个或多个哈希表字段

4. hexists student name

判断student表中是否存在name

5. hkeys student

# 获取student表中的所有field
> hkeys student
1) "name"
2) "age"

6. hvals student

# 获取student表中的所有值
> hvals student
1) "wdf"
2) "20"

7. hlen student

# 查看student表中field的个数
> hlen student
(integer) 2

8. hstrlen student name

查看student表中指定field(例如:name)的长度

List类型

redis底层List是一个无头节点的双向链表, 对表头与表尾的操作性能较高,对表中间数据操作性能较低
注意:List类命令 首字母开头都是l,r,b

1. lpush/rpush 插入

将一个或者多个value插入左边或者右边(l为左边, r为右边)
image.png

2. lrange 获取元素

lrange names 0 -1
获取列表指定范围内的元素
打印出表中数据,0代表从0开始拿, -1表示最后一个

3. lrem 删除元素

lrem key count value

  • count > 0 : 从表头开始向表尾搜索,移除与 VALUE 相等的元素,数量为 count。
  • count < 0 : 从表尾开始向表头搜索,移除与 VALUE 相等的元素,数量为 count的绝对值。
  • count = 0 : 移除表中所有与 VALUE 相等的值。

image.png

4. Linsert 插入

redis> RPUSH mylist "Hello"
(integer) 1
redis> RPUSH mylist "World"
(integer) 2
redis> LINSERT mylist BEFORE "World" "There"
(integer) 3
redis> LRANGE mylist 0 -1
1) "Hello"
2) "There"
3) "World"

rpoplpush 移除并且加入

用于移除列表的最后一个元素,并将该元素添加到另一个列表并返回。

redis 127.0.0.1:6379> RPUSH mylist "hello"
(integer) 1
redis 127.0.0.1:6379> RPUSH mylist "foo"
(integer) 2
redis 127.0.0.1:6379> RPUSH mylist "bar"
(integer) 3
redis 127.0.0.1:6379> RPOPLPUSH mylist myotherlist
"bar"
redis 127.0.0.1:6379> LRANGE mylist 0 -1
1) "hello"
2) "foo"
# redis  

评论