1. 通用命令
keys* :查询的所有的键
type key : 获取键对应的value的类型
del key 删除指定的key value
2. 数据类型
- redis存储的是键值对(key, value)格式的数据,其中key都是字符串,value有5种不同的数据结构
- value可以为:
(1)字符串类型 string
(2)哈希类型 hash : map格式
(3)列表类型 list : linkedlist格式,支持重复元素
(4)集合类型 set : 不允许重复元素
(5)有序集合类型 sortedset : 不允许重复元素,且元素有顺序,每个元素都会关联一个double类型的分数。redis通过分数来为集合中的成员进行从小到大的排序。
3. 操作命令
(1)字符串类型
# a) 存: set key value
127.0.0.1:6379 > set username test
OK
# b) 读: get key
127.0.0.1:6379 > get username
"test"
# c) 删
127.0.0.1:6379 > del username
(integer) 1
(2)hash类型
# a) 存: hset key field value
127.0.0.1:6379 > hset myhashmap username test
(integer) 1
127.0.0.1:6379 > hset myhashmap password testpwd
(integer) 1
# b) 读:
# hget key field : 获取指定的field对应的值
127.0.0.1:6379 > hget myhashmap username
"test"
# hgetall key :
127.0.0.1:6379 > hgetall myhashmap
1)"username"
2)"test"
3)"password"
4)"testpwd"
# c) 删: hdel key field
127.0.0.1:6379 > hdel myhashmap username
(integer) 1
# 注意:用del myhashmap可以直接删除整个map
(3)列表类型list:可以添加一个元素到列表的头部(左边)或者尾部(右边)
# a) 存: 将value中的值按顺序依次不断插入到list头部或尾部
# 将元素加入到列表左边:lpush key value
127.0.0.1:6379 > lpush mylist first-l-in
(integer) 1
127.0.0.1:6379 > lpush mylist second-l-in
(integer) 1
# 将元素添加到累表右边:rpush key value
127.0.0.1:6379 > rpush mylist first-r-in second-l-in
(integer) 1
# b) 读:
# lrange key start end : 指定索引范围读取
127.0.0.1:6379 > lrange mylist 0 -1
1)"second-l-in"
2)"first-l-in"
3)"first-r-in"
4)"second-r-in"
# c) 删:
# lpop key :删除列表最左边的元素,并将元素返回
# rpop key :删除列表最右边的元素,并将元素返回
#
(4)集合类型: set
# a) 存: sadd key value
127.0.0.1:6379 > sadd myset test
(integer) 1
127.0.0.1:6379 > sadd myset test
(integer) 0
# b) 读:
# smembers key : 获取set集合中所有元素
127.0.0.1:6379 > smembers myset
1) "test"
# c) 删
# srem key value : 删除set集合中的某个元素
127.0.0.1:6379 > srem myset test
(integer) 1
(5)有序集合类型 sorted set
# a) 存: zadd key score value
127.0.0.1:6379 > zadd mysort 60 zhang
(integer) 1
127.0.0.1:6379 > zadd mysort 50 li
(integer) 1
127.0.0.1:6379 > zadd mysort 80 wang
(integer) 1
# b) 读:
# zrange key start end [withscores]
127.0.0.1:6379 > zrange mysort 0 -1
1) "li"
2) "zhang"
3) "wang"
127.0.0.1:6379 > zrange mysort 0 -1 withscoreds
1) "li"
2) "50"
3) "zhang"
4) "60"
5) "wang"
6) "80"
# c) 删
# zrem key value : 删除set集合中的某个元素
127.0.0.1:6379 > zrem mysort li
(integer) 1