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为右边)
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 相等的值。
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"