Redis基础操作

1.字符串(String)相关操作

set --设置值

127.0.0.1:6379> set animal 'Cat'
OK

get --获取值

127.0.0.1:6379> get animal
"Cat"

mset --设置多个键值对

127.0.0.1:6379> mset user1 'John' user2 'Amy'
OK

mget --获取多个键值对

127.0.0.1:6379> mget user1 user2
1) "John"
2) "Amy"

append --添加字符串(set会覆盖原来的值)

127.0.0.1:6379> set animal "Dog"
OK
127.0.0.1:6379> get animal
"Dog"
127.0.0.1:6379> append animal " Cat"
(integer) 7
127.0.0.1:6379> get animal
"Dog Cat"

del --删除

127.0.0.1:6379> del animal
(integer) 1
127.0.0.1:6379> get animal
(nil)

incre/decr --增加/减少 1

127.0.0.1:6379> set num 10
OK
127.0.0.1:6379> incr num
(integer) 11
127.0.0.1:6379> get num
"11"
127.0.0.1:6379> decr num
(integer) 10
127.0.0.1:6379> get num
"10"

2.列表(List)相关操作

lpush/rpush --从左、右插入数据

127.0.0.1:6379> lpush q1 "John" "Cat" "Amy"
(integer) 3
127.0.0.1:6379> llen q1
(integer) 3
127.0.0.1:6379> rpush q1 "Bob"
(integer) 4
127.0.0.1:6379> lrange q1 0 8888
1) "Amy"
2) "Cat"
3) "John"
4) "Bob"

lrange -- 获取指定长度

127.0.0.1:6379> lrange q1 0 -1
1) "Amy"
2) "Cat"
3) "John"

ltrim --截取一定长度的数据

127.0.0.1:6379> ltrim q1 0 2
OK
127.0.0.1:6379> lrange q1 0 -1
1) "Zhang1"
2) "Oku"
3) "Amy"

lpop/rpop --移除最左的/右的元素并返回

127.0.0.1:6379> lrange q1 0 -1
1) "Oku"
2) "Amy"
127.0.0.1:6379> rpop q1
"Amy"
127.0.0.1:6379> lrange q1 0 -1
1) "Oku"

lpushx/rpushx --key存在的时候才插入数据,不存在时不做任何处理

127.0.0.1:6379> lpushx q1 "Zhang1"
(integer) 6
127.0.0.1:6379> lrange q1 0 -1
1) "Zhang1"
2) "Oku"
3) "Amy"
4) "Cat"
5) "John"
6) "Bob"
127.0.0.1:6379> rpushx q1 "hu2"
(integer) 7
127.0.0.1:6379> lrange q1 0 -1
1) "Zhang1"
2) "Oku"
3) "Amy"
4) "Cat"
5) "John"
6) "Bob"
7) "hu2"

  127.0.0.1:6379> rpushx q2 "Amy"
  (integer) 0
  127.0.0.1:6379> lpushx q2 "Amy"
  (integer) 0

3.集合(Set)相关操作

sadd/srem --添加/删除元素

127.0.0.1:6379> sadd zoo Cat Dog
(integer) 2
127.0.0.1:6379> smembers zoo
1) "Cat"
2) "Dog"
127.0.0.1:6379> srem zoo Cat
(integer) 1
127.0.0.1:6379> srem zoo Cat
(integer) 0
127.0.0.1:6379> smembers zoo
1) "Dog"
127.0.0.1:6379> sadd zoo Cat
(integer) 1
127.0.0.1:6379> smembers zoo
1) "Cat"
2) "Dog"

sismember--判断是否为set的一个元素

127.0.0.1:6379> sismember zoo Cat
(integer) 1
127.0.0.1:6379> sismember zoo Cow
(integer) 0

smembers --返回该集合的所有成员

sdiff --返回一个集合与其他集合的差异

127.0.0.1:6379> sdiff zoo zoo1
1) "Dog"
127.0.0.1:6379> sdiff zoo1 zoo
1) "Cow"

sinter --返回几个集合的交集 

127.0.0.1:6379> sinter zoo1 zoo
1) "Cat"
127.0.0.1:6379> sinter zoo zoo1
1) "Cat"

sunion --返回几个集合的并集

127.0.0.1:6379> sunion zoo zoo1
1) "Cat"
2) "Cow"
3) "Dog"
127.0.0.1:6379> sunion zoo1 zoo
1) "Cat"
2) "Dog"
3) "Cow" 

4.散列(Hash)相关操作

hset/hget --设置/获取散列值

127.0.0.1:6379> hset news:1 title "News Title"
(integer) 1
127.0.0.1:6379> hset news:1 content "News Content"
(integer) 1
127.0.0.1:6379> hget news:1 title
"News Title"
127.0.0.1:6379> hget news:1 content
"News Content"

hmset/hmget --设置/获取多对散列值

127.0.0.1:6379> hmget news:1 title content
1) "News Title"
2) "News Content"
127.0.0.1:6379> hmset news:2 title "Title2" content "Content2" is_valid 1
OK
127.0.0.1:6379> hmget news:2 title content is_valid
1) "Title2"
2) "Content2"
3) "1"

hsetnx --如果散列已经存在,则不设置

hkeys/hvals --返回所有Keys/Values

127.0.0.1:6379> hkeys news:1
1) "title"
2) "content"
127.0.0.1:6379> hkeys news:2
1) "title"
2) "content"
3) "is_valid"
127.0.0.1:6379> hvals news:1
1) "News Title"
2) "News Content"
127.0.0.1:6379> hvals news:2
1) "Title2"
2) "Content2"
3) "1"

hlen -- 返回散列包含域(field)的数量

127.0.0.1:6379> hlen news:1
(integer) 2
127.0.0.1:6379> hlen news:2
(integer) 3

hdel --删除散列指定的域(field)

127.0.0.1:6379> hdel news:2 is_valid
(integer) 1
127.0.0.1:6379> hlen news:2
(integer) 2

hexists --判断是否存在

127.0.0.1:6379> hexists news:2 is_valid
(integer) 0
127.0.0.1:6379> hset news:2 is_valid 1
(integer) 1
127.0.0.1:6379> hexists news:2 is_valid
(integer) 1

猜你喜欢

转载自www.cnblogs.com/yqpy/p/9141270.html
今日推荐