1. 打开一个 cmd 窗口 使用cd命令切换目录到 C:\redis 运行 redis-server.exe redis.windows.conf

2.启动:

$ redis-server

3.查看是否启动:

$ redis-cli

4.测试速度

redis-benchmark

5.查看单个库的大小

dbsize

6.把当前所在库的数据罗列出来

keys*

7.移动到2号库

select 2

8.把所有库的数据删除

flushall

9.判断库中是否存在键为k1的数据

existis k1

10.将键为k1的数据移动到2号库中

move k1 2

11.把当前库的数据删除

flushdb

12.设置k1过期时间

expire k1 10

13.查看k1过期时间-1为永不过期,-2为已过期

ttl k1

 

五大数据类型:

String:append,strlen,incr,decr,incrby,decrby,getrange,setrange,setex,setnx,mset,mget,msetnx

1.对k1拼接字符串:append  k1 123456

 

2.查看k1当前字符串数:strlen k1

 

3.incr,decr,incrby,decrby   ---只能是数字

incr k1   //k1的值逐渐加1
decr k1  //k1的值逐渐减1
incrby k1 2  //k1逐渐加2
decrby k1 2 //k1逐渐减2

 

4.getrange,setrange

getrange k1 0 -1  //相当于getrange k1  读取所有
getrange k1 0 3  //读取k1的值中0到3的字符串   包括3
setrange k1 0  xxx //设置k1从0字符开始3位的值

 

5.setex设置过期时间   setnx如果不存在创建

setex k1 10 //设置ki1 过期时间10秒
setnx k11 qwer  //如果k11不存在则创建,存在则无法创建成功

 

6.mset  合并,getset合并取, msetnx不存在则合并,只要存在一个就失效

mset k1 v1 k2 v2 k3 v3  //k1  k2  k3合并
mget k1 k2 k3 //取上述设置的
msetnx  k5 v5 k6 v6  //如果k5和k6都没有的话可以创建成功,只要k5或者k6有一个存在则无法创建

 

List:lpush,rpush,lrange,lpop,rpop,lindex,llen,lrem,trim,rpoplpush,lset,linsert
lpush/rpush/lrange:
lpush list01 1 2 3 4 5 //先压的在低下,显示的时候为5 4 3 2 1  rpush则相反
lrange:lrange list01 0 -1 //遍历list01链表的所有元素
lpop/rpop: lpop list01 //弹出list01最上面元素(索引为0的元素),rpop则为弹出最下面元素
lindex: lindex list01 2 //取list01链表索引为2的元素 为3
llen: llen list01 //链表长度
lrem key:lrem list01 1 2 //移除链表list01中值为2的元素,移除1个
ltrim key: ltrim list01 0 2 //截取链表元素从索引0到2
rpoplpush:rpoplpush list01 list02  //将list01最下面元素(索引值最大元素)移到list02链表的最顶层(索引值最小)
lset  key index value:lset list01 0 2//设置list01索引为0的值为2
linsert key before/after

 

Set:sadd,smembers,sismember,scard,srem,srandmember,spop,smove,sdiff,sinter,sunion
sadd/smembers/sismember:
sadd set01 1 2 3 //往set中添加值
smsmbers set01 //查看set01中的所有值
sismember set01 1 //判断set01中1的值是否存在
scard:scard set01 //查看set01里面的元素个数
srem key value: srem set01 1 //移除set01中值为1的元素
srandmember key: srandmember set01 //随机取出set01中的一个元素
spop key:spop set01 //随机弹出set01中的一个元素
smove:smove set01 set02 2  //将set01中的值为2的元素添加到set02中
sdiff: sdiff set01 set02 //取两个集合的差值,如果set01为 1 2 3  set02为2 4 5 6 则结果为1 3 
sinter:sinter set01 set02 //取两个集合的交集
sunion:sunion set01 set02//取两个集合的并集

 

Hash:hset,hget,hmset,hmget,hgetall,hdel,hlen,hexists,hkeys,hvals,hincrby,hincrbyfloat,hsetnx

hset:hset user id 1 //创建user对象,id为1

hget:hget user id //获取user对象的id
hmset:hmset user id 1 name zhf age 18 //创建user对象,添加属性id,name,age
hmget:hmget user id name age //获取user对象的id,name,age属性
hgetall:hgetall user //获取user对象的所有属性
hdel:hdel user id//删除user对象的id属性
hlen:hlen user//判断user对象有多少属性
hexists:hexists user id  //判断user对象是否有id属性
hkeys:hkeys user //获取user对象的属性集
hvals:hvals user //获取user对象的属性值集
hincrby:hincrby user id 1 //user对象的id属性加1
hincybyfloat:hincrby user id 0.1 //user对象的id属性按照浮点数类型增加
hsetnx:hsetnx user gender 男 // 对user对象新增属性,如果属性存在则无法新增,不存在则可以新增

 

Zset:zadd,zrange,zrem,zcard/zcount/zrank/zscore,zrevrank,zrevrange,zrevrangebyscore
zadd:zadd salary 3000 peter 3500 tom 4000 nick//往有序列表添加数据(不可添加重复数据)
zrange:zrange salary 0 -1 withscopes //显示所有成员和薪水
zrem:zrem salary nick // 删除成员nick
zrank:zrank salary nick //显示nick的薪水排名,越低则排名越低
zscore:zscore salary nick //显示nick的薪水
zrevrank:zrevrank salary nick //显示nick的薪水排名,越低排名越高
zrevrange:zrevrange salary 0 -1 //显示所有成员按照正序排列
zrevrangebyscore:zrevrangebyscore salary 4000 3500 //薪水在3500到4000的正序排列