Redis基本操作

大憨熊 提交于 2020-01-25 20:34:33

Redis基本操作

一、基本命令

1.set、get

set:设置key对应的value

格式:set key value

get:获取key对应的value(如果没有设置则为nil)

格式:get key

# set key value
set name yimt
# get key
get name
# "yimt"

2.mset

同时设置多个key value

格式:mset key value [key value …]

mset name yimt age 22
# 获取设置的值
get name
# "yimt"
get age
# "22"

3.mget

同时获取多个key value

格式:mget key [key …]

mset name yimt age 22

# 获取多个value
mget name age
# "yimt"
# "22"

4.setex

设置key对应的value在一段时间过后失效

格式:setex key seconds value

setex name 10 yimt
# 立即查询结果
get name
# "yimt"
# 10秒之后查询结果
get name
# (nil)

5.expire

设置键过期时间

格式:expire key seconds

# 设置name键在10秒过后失效
expire name 10

6.ttl

查看键剩余多长时间有效

格式:ttl key

返回值:

  • -1:不过期
  • -2:不存在键
  • 其他:剩余过期时间

7.append

追加字符串

格式:append key value

注意:如果追加的key不存在则相当于set key value

# 设置key对应value
set name yimt

# 获取key对应value
get name
# "yimt"

# 往指定key追加数据
append name 123

# 获取key对应value
get name
# "yimt123"

8.del

删除键,返回删除成功数量

格式:del key [key …]

# 删除name键
del name
# 1

9.keys

查看键支持正则

格式:keys pattern

# 查看所有的键
keys *

10.exists

查看数据库是否存在键,返回存在的数量

exists key [key …]

# 查看是否存在键name
exists name
# 1

11.type

查看键类型

格式:type key

# 查看name键类型
type name
# string

二、哈希

1.hset

设置哈希键值

格式:hset key field value

hset h1 name yimt

2.hget

获取哈希键值

格式:hget key field

hget h1 name
# "yimt"

3.hmset

批量设置哈希字段值

格式:hmset key value [key value …]

hmset h1 name yimt age 22

4.hmget

批量获取哈希字段值

格式:hmget key field [feild …]

hmget h1 name age

5.hkeys

查看指定键的所有字段

格式:hkeys key

hkeys h1
# 1) "name"
# 2) "age"

6.hvals

查看指定键的所有字段的值

格式:hvals h1

hvals h1
# 1) "yimt"
# 2) "22"

三、list

1.lpush

从左边添加数据到list

格式:lpush key value [value …]

lpush l1 1 2 3

2.rpush

从右边添加数据到list

格式:rpush key value [value …]

3.lrange

遍历指定范围数据

格式:lrange key start stop

注意:stop等于-1时表示从start开始到结束全部访问

lrange l1 0 2
# 1) "3"
# 2) "2"
# 3) "1"

4.lrem

从左往右删除指定数据的指定值

格式:lrem key count value

key:指定哪个list

count:删除的数量,如果为-1表示从右往左删除,如果为0表是匹配的全部删除

value:删除的值

# 从左往右删除第1个出现的"1"数据
lrem l1 1 1

# 从右往左删除第1个出现的"1"数据
lrem l1 -1 1

# 删除所有值为"1"的数据
lrem l1 0 1

5.linsert

插入数据

格式:linsert key before|after pivot value

# 在"3"之前插入"4"
linsert l1 before 3 4

# 查看结果
lrange l1 0 -1
# 1) "4"
# 2) "3"
# 3) "2"
# 4) "1"

# 如果插入位置的值不存在,会插入失败
# 如:
linsert l1 before 5 6
# (integer) -1

四、set

  • 自动去重
  • 无序

1.sadd

添加到集合

格式:sadd key member [member …]

sadd s1 1 2 3

2.smembers

查看集合成员

格式:smemebers key

smembers
# 1) "1"
# 2) "2"
# 3) "3"

3.srem

删除格式元素

格式:srem key member [member …]

# 删除"1"
srem key 1

五、sorted set

1.zadd

添加数据

格式:zadd key [NX|XX] [CH] [INCR] score member [score member …]

# 添加1权重1、添加2权重2、添加3权重3
zadd z1 1 1 2 2 3 3

2.zrange

获取当中数据,使用方法同list lrange

格式:zrange key start stop [WITHSCORES]

# 获取从0开始到结束的数据
zrange z1 0 -1

3.zrangebyscore

通过权重获取

格式:zrangebyscore key min max [WITHSCORES] [LIMIT offset count]

# 访问权重在2-3中的数据
zrangebyscore z1 2 3
# 1) "2"
# 2) "3"

4.zscore

获取指定成员权重

格式:zscore key member

# 获取"1"权重
zscore z1 1
# "1"

5.zrem

删除指定成员

格式:zrem key member [member …]

# 删除z1中"3"的数据
zrem z1 3

6.zremrangebyscore

删除指定权重的成员

格式:zremrangebyscore key min max

# 删除权重在1-2中数据
zremrangebyscore z1 1 2
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!