命令参考文档:http://www.redis.cn/topics/introduction.html
1.安装及配置
官网https://redis.io
中文网站:http://www.redis.cn
windows版本下载地址:https://github.com/MSOpenTech/redis/releases
可以看到安装成了系统服务
2.字符串(String)相关操作
set -- 设置值
get -- 获取值
mset -- 设置多个键值对
mget -- 获取多个键值对
append -- 添加字符串
del -- 删除
incr/decr -- 数字加1、减1
设置、获取值
C:\Users\ajie>redis-cli127.0.0.1:6379> set animal 'cat'OK127.0.0.1:6379>get animal"cat"
127.0.0.1:6379> set animal 'dog'OK127.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"设置获取多个值127.0.0.1:6379> mset user1 'jhon' user2 'amy'OK127.0.0.1:6379>get user1"jhon"
127.0.0.1:6379>get user2"amy"
127.0.0.1:6379>mget user1 user2 animal1) "jhon"
2) "amy"
3) "dog cat"
127.0.0.1:6379>del user2
(integer)1
127.0.0.1:6379>del user2
(integer)0
127.0.0.1:6379>get user2
(nil)
incr/decr数字加1、减1127.0.0.1:6379> set num 10OK127.0.0.1:6379>get num"10"
127.0.0.1:6379> set num 9OK127.0.0.1:6379>get num"9"
127.0.0.1:6379>decr num
(integer)8
127.0.0.1:6379>get num"8"
127.0.0.1:6379>incr num
(integer)9
127.0.0.1:6379>get num"9"设置键的过期时间127.0.0.1:6379> set animal 'monkey' ex 5OK127.0.0.1:6379>get animal"monkey"
127.0.0.1:6379>get animal
(nil)
3.列表(list)相关操作
lpush/rpush -- 从左/右插入数据
lrange -- 获取指定长度的数据
ltrim -- 截取一定长度的数据
lpop/rpop -- 移除最左、右的元素并返回
lpushx/rpushx -- key存在的时候才插入数据,不存在时不做任何处理
插入多条数据127.0.0.1:6379> lpush q1 'jhon' 'cat' 'amy'(integer)3
127.0.0.1:6379>llen q1
(integer)3
127.0.0.1:6379> lrange q1 0 -1
1) "amy"
2) "cat"
3) "jhon"
127.0.0.1:6379> lrange q1 0 8888
1) "amy"
2) "cat"
3) "jhon"
127.0.0.1:6379> rpush q1 'bob'(integer)4
127.0.0.1:6379> lrange q1 0 888
1) "amy"
2) "cat"
3) "jhon"
4) "bob"
127.0.0.1:6379> lpush q1 'okone'(integer)5
127.0.0.1:6379> lrange q1 0 -1
1) "okone"
2) "amy"
3) "cat"
4) "jhon"
5) "bob"存在键就插入127.0.0.1:6379> lpushx q1 'zhangsan'(integer)6
127.0.0.1:6379> lrange q1 0 -1
1) "zhangsan"
2) "okone"
3) "amy"
4) "cat"
5) "jhon"
6) "bob"不存在,不做任何操作127.0.0.1:6379> lpushx q2 'AMY'(integer)0
127.0.0.1:6379> lrange q1 0 -1
1) "zhangsan"
2) "okone"
3) "amy"
4) "cat"
5) "jhon"
6) "bob"截取0-2的键127.0.0.1:6379> ltrim q1 0 2OK127.0.0.1:6379> lrange q1 0 -1
1) "zhangsan"
2) "okone"
3) "amy"
4.集合(set)的相关操作
sadd/srem -- 添加/删除元素
sismember -- 判断是否为set的一个元素
smembers -- 返回该集合的所有成员
sdiff -- 返回一个集合与其他集合的差异
sinter -- 返回几个集合的交集
sunion -- 返回几个集合的并集
向集合zoo中添加Cat和Dog元素127.0.0.1:6379>sadd zoo Cat Dog
(integer)2
127.0.0.1:6379>smembers zoo1) "Dog"
2) "Cat"
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>sismember zoo Cat
(integer)0
127.0.0.1:6379>sismember zoo Dog
(integer)1
127.0.0.1:6379>smembers zoo1) "Dog"
127.0.0.1:6379>sadd zoo Cat
(integer)1
127.0.0.1:6379>smembers zoo1) "Dog"
2) "Cat"
127.0.0.1:6379>sadd zoo1 Cat Cow
(integer)2
127.0.0.1:6379>smembers zoo11) "Cow"
2) "Cat"
127.0.0.1:6379>smembers zoo1) "Dog"
2) "Cat"比较集合的差异127.0.0.1:6379>sdiff zoo zoo11) "Dog"
127.0.0.1:6379>sdiff zoo1 zoo1) "Cow"返回集合的交集127.0.0.1:6379>sinter zoo zoo11) "Cat"返回集合的并集127.0.0.1:6379>sunion zoo zoo11) "Cow"
2) "Dog"
3) "Cat"
5.散列hash相关操作
hset/hget -- 设置/获取散列值
hmset/hmget --设置/获取多对散列值
hsetnx -- 如果散列已经存在,则不设置
hkeys/hvals -- 返回所有keys/values
hlen -- 返回散列包含域(field)的数量
hdel -- 删除散列指定的域(field)
hexists -- 判断是否存在
设置news:1的title和content内容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:1title"News title"
127.0.0.1:6379> hget news:1content"news content"
127.0.0.1:6379> hmget news:1title content1) "News title"
2) "news content"
127.0.0.1:6379> hmset news:2 title 'Title2' content 'Content2' is_valid 1OK127.0.0.1:6379> hmget news:2title content is_valid1) "Title2"
2) "Content2"
3) "1"获取keys和values127.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"
127.0.0.1:6379> hlen news:1(integer)2
127.0.0.1:6379> hlen news:2(integer)3
127.0.0.1:6379> hdel news:2is_valid
(integer)1
127.0.0.1:6379> hdel news:2is_valid
(integer)0
127.0.0.1:6379> hlen news:2(integer)2判断值是否存在127.0.0.1:6379> hexists news:2is_valid
(integer)0
127.0.0.1:6379> hset news:2 is_valid 1(integer)1
127.0.0.1:6379> hexists news:2is_valid
(integer)1