redis的操作是以key - value的形式存储的
key为字符串
Value: 字符串,hash表,list集合,set集合,zset集合 五种类型
19.6.1.String 类型的操作
1.Set指令: set key value 创建指令
2.get指令:get key 获取数据
键值对,有效期: setex key second value
setex name 10 zs # 10秒后,该name消失
设置多个键值对: mset key1 value1 key2 value2 … 同时插入
mset name zs age 18
获取多个值: mget key1 key2 …
mset name age
查看所有的键: keys * 查看redis所有的主键
查看以a开头的键: keys a*
keys a*,keys *a, keys a
查看键:
1.查看所有的键: keys *
keys *
2.查看以a开头的键: keys a*
keys a*,keys *a, keys a
3.看键是否存在: exists key
exists name
4.查看键的类型: type key1
type name
设置键有效期,删除键:expire key seconds
expire 18500348106 300 # 10秒后,name消失
设置键有效期,删除键:expire key seconds (用于做验证码的操作)
expire name 10 # 10秒后,name消失
查看键的有效期: ttl key
ttl name
说明:永久有效的key值, 展示出来的数据有效时间就是 “-1”,如果已经过期呢 “-2”
flushall,清空
flushall (在公司中千万不要操作这个指令)
19.6.2.Hash的指令
增加数据
1.增加域的key和值: hset key field value
hset person name zs
2.设置域的多个属性: hmset key filed1 value1 field2 value2…
hmset person name zs age 18
获取数据:
1.获取域的属性(字段): hget key field
hget person name
2.获取域的多个属性: hmget key filed1 field2…
hmget person name age
3.获取域的所有属性(字段): hkeys key
hkeys person # 显示的是,name age
删除数据:
1.删除多个属性值(字段): hdel key field1 field2…
hdel person name age
19.6.3.List指令
插入数据:
1.左侧插入数据: lpush key value1 value2 …
lpush num_list 1 2 3 # 左边插入数据
2.右侧插入数据: rpush key value1 value2 …
rpush num_list 1 2 3 # 右边插入数据
3.指定key,旧元素位置前插入元素:
格式:linsert key before oldvalue newvalue
linsert num_list before 1 10
4.指定key,旧元素位置后插入元素:
格式:linsert key after oldvalue newvalue
linsert num_list after 1 10
获取数据:
1.获取从编号start位置到编号stop位置的元素:
格式:lrange key start stop
(注意点,最后一个元素可以使用-1表示)
lrange num_list 0 -1
注意: 下标后面一定要 加空格
2.设置指定索引位置的元素值: lset key index value
lset num_list 0 6 # 索引值为0的数改为6
删除数据:
1.将key域列表中,前count次,值为value的元素删除:
格式: lrem key count value
count:需要删除的个数
value: 需要删除的值
count>0:从头开始数, count<0从尾到头,count=0查找所有元素
lrem num_list 2 a # 从左到右删除两个a
lrem num_list -2 a # 从右到左删除两个a
lrem num_list 0 a # 把全部的a删除
19.7.Set指令
set类型
特点:无序(顺序)集合, 大小关系有序,不能存储重复元素
1 6 3 9 2
添加元素
1.向key域(集合)中添加多个数据, sadd key member1 member2…
sadd num_set 1 4 6 7 4 5
获取元素:
2.获取key域集合的所有元素: smembers key
smembers num_set
删除元素:
1.删除指定key元素的值: srem key value
srem num_set 1
19.8.Zset指令
特点: 有序集合, score为权重值
序:自然顺序
增加数据
1.向key域集合中添加多个score1,member1数据
格式: zadd key score1 member1 score2 memever2…
zadd nums 10 zs 20 lisi
获取数据:
1.返回指定范围内的member元素:
格式:zrange key start stop
start:为开始索引,包含
stop:为结尾索引,包含, -1表示最后一个元素
zrange nums 0 -1
2.获取min和max权值之间(包含)的成员值:
格式:zrangebyscore key min max
zrangebyscore nums 0 230
3.获取key域集合中member的score的权重值:
格式:zscore key member
zscore nums zs
删除元素:
1.删除域集合中指定的元素值:
格式:zrem key member1 member2…
zrem nums zs lisi
2.删除集合中权重在指定范围内(min,max)的元素:
格式:zremrangebyscore key min max
zremrangebyscore nums 0 20