一、连接
1.查看安装的Redis服务器:docker ps | grep redis
2.登录虚拟容器:docker exec -it changgou_redis sh
3.连接本地Redis服务器:redis-cli(因为是连接本地服务器,所以不用加服务器的地址和端口,默认ip就是127.0.0.1,端口6379)
连接其他服务器:redis-cli -h x.x.x.x -p y(x.x.x.x是要连接的服务器地址,y是对应的端口)
4.断开连接:Ctrl+c
5.查看所有的镜像:docker images
二、k-v数据类型的使用
Redis服务器的数据格式有key-value类型,使用此类型的方法如下:
1.建立key-value:set key value
2.根据key获取value:get key
3.修改value:set key value
4.查看key是否存在:exists key,存在返回1,不存在返回0
5.判断是否存在当前key,存在则不允许返回错误,不存在则建立key-value,并设置key-value的过期时间:set key value ex seconds nx,seconds单位是秒。 nx的作用是如果key存在,则返回(nil)
6.删除key-value:del key
7.给已有的key-value设置过期时间:expire key seconds,设置成功返回1
三、list数据类型的使用
Redis服务器的list和java中的双端队列LinkedList相似,两端都可以出入。这里的key可以看做一个字符串,value可以看做一个ArrayList
注:这里不用专门定义变量,直接push即可建立list
1.左端入:lpush key value,入成功则返回1
2.右端入:rpush key value
3.查看当前数据分布:lrange key start stop,start代表起始下标,从0开始,stop代表结束下标,两端都是闭区间,这里不存在数组越界问题,当结束下标超过数组长度时,只会输出到数组最后一个数据
4.左端出:lpop key,出成功则返回出的数据
5.右端出:rpop key,出成功则返回出的数据
6.查看数组的长度:llen key
四、hset数据类型的使用
Redis服务器的hset相当于把list中value的类型改为map
1.创建hset:hset key field value,创建成功则返回加入元素的个数
127.0.0.1:6379> hset h b 2 c 3
(integer)2
2.获取一个值: hget key field
127.0.0.1:6379> hget h b
"2"
127.0.0.1:6379> hget h c
"3"
3.获取全部值:hgetall key,注意每个field和value分别占一行,两行为一对
127.0.0.1:6379> hget h
1) "a"
2) "1"
3) "b"
4) "2"
5) "c"
6) "3"
4.取所有的key值:hkeys key
127.0.0.1:6379> hkeys d
1) "a"
2) "b"
3) "c"
5.更新value值:hset key field value,同添加值
6.删除键值对:hdel key field [field …],可以同时删除多个值,返回的是删除的值的个数
五、set数据类型的使用
1.创建集合:sadd key member [member …],member为该set中的元素,可以一次性添加多个元素
2.求集合的交集:sinter key [key …],可以同时对多个集合求交集
3.求集合的并集:sunion key [key …],可以同时对多个集合求并集
4.查看集合的所有元素:smembers key
5.求集合的差集:sdiff key [key …],如果为空则返回(empty list or set)
6.删除集合元素:srem key member [member …],返回删除的元素个数
六、zset数据类型的使用
zset相当于也是一个set,但zset内的元素是有序的,而set内的元素是无序的。使用zset的原因是它比SQL的order by性能高很多,可以处理得更快。
1.创建一个有序集合:zadd key [NX|XX] [CH] [INCR] score member [score member …],返回添加进去的元素,排序是根据score排序
127.0.0.1:6379>zadd zs 1 a 10 b 7 c
(integer)2
2.查看有序集合元素
2.1从小到大查看部分元素:zrange key start end,start代表起始下标,从0开始,stop代表结束下标,两端都是闭区间
127.0.0.1:6379>zrange zs 0 1
1)"a"
2)"c"
注:start应小于等于end,但即使start大于end也不会报错,只会返回空
2.2从小到大查看所有元素:zrange key 0 -1
3.从大到小查看部分元素
3.1从大到小查看部分元素:zrevrange start end
127.0.0.1:6379>zrange zs 0 1
1)"b"
2)"c"
3.2从大到小查看所有元素:zrevrange key 0 -1