redis基本操作命令

发布时间:2018-11-15  栏目:NoSQL  评论:0 Comments

Redis简介

  • Redis是一个开源之应用ANSI
    C语言编写、支持网络、可因内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
  • Redis是
    NoSQL技术阵营中之等同各,它经过强键值数据类型来适应不同场景下之贮存需求,借助一些高层级的接口使用其好胜任,如缓存、队列系统的差角色

 

默认端口:6379

默认数据库:16只

服务器端命令:redis-server

客户端命令:redis-cli

切换数据库:select 
0~15  例如:select  2  哪怕是切换至2哀号数据库

redis每条数据都是⼀个键值对,值的品种分为五种植:

  • 字符串string
  • 哈希hash
  • 列表list
  • 集合set
  • 有序集合zset

 

前我们看了redis的简介安装和数据类型,接下去介绍一下redis基本数据列的操作命令:

string类型

 

同等:redis键值对的军事管制以及操作

保存

一旦设置的键不在则也丰富,如果设置的键已经有则改

  • 装键值

    style=”font-family: "Microsoft YaHei"; font-size: 16px”>set
    key value

  • 例1:设置键为name值为itcast的数量

    style=”font-family: "Microsoft YaHei"; font-size: 16px”>set
    name itcast

  • 设置键值及超时时,以秒为单位

    style=”font-family: "Microsoft YaHei"; font-size: 16px”>setex
    key seconds value

  • 例2:设置键为aa值为aa过期时吗3秒的多少

    style=”font-family: "Microsoft YaHei"; font-size: 16px”>setex
    aa 3 aa

  • 设置多只键值

    style=”font-family: "Microsoft YaHei"; font-size: 16px”>mset
    key1 value1 key2 value2 …

  • 例3:设置键为’a1’值为’python’、键为’a2’值为’java’、键为’a3’值为’c’

    style=”font-family: "Microsoft YaHei"; font-size: 16px”>mset
    a1 python a2 java a3 c

  • 追加值

    style=”font-family: "Microsoft YaHei"; font-size: 16px”>append
    key value

  • 例4:向键为a1遇追加值’
    haha’

    style=”font-family: "Microsoft YaHei"; font-size: 16px”>append
    a1 haha

 

1 DEL key
该命令用于在 key 存在时删除 key。
2 DUMP key
序列化给定 key ,并返回被序列化的值。
3 EXISTS key
检查给定 key 是否存在。
4 EXPIRE key seconds
为给定 key 设置过期时间。
5 EXPIREAT key timestamp
EXPIREAT 的作用和 EXPIRE 类似,都用于为 key 设置过期时间。 不同在于 EXPIREAT 命令接受的时间参数是 UNIX 时间戳(unix timestamp)。
6 PEXPIRE key milliseconds
设置 key 的过期时间以毫秒计。
7 PEXPIREAT key milliseconds-timestamp
设置 key 过期时间的时间戳(unix timestamp) 以毫秒计
8 KEYS pattern
查找所有符合给定模式( pattern)的 key 。
9 MOVE key db
将当前数据库的 key 移动到给定的数据库 db 当中。
10 PERSIST key
移除 key 的过期时间,key 将持久保持。
11 PTTL key
以毫秒为单位返回 key 的剩余的过期时间。
12 TTL key
以秒为单位,返回给定 key 的剩余生存时间(TTL, time to live)。
13 RANDOMKEY
从当前数据库中随机返回一个 key 。
14 RENAME key newkey
修改 key 的名称
15 RENAMENX key newkey
仅当 newkey 不存在时,将 key 改名为 newkey 。
16 TYPE key
返回 key 所储存的值的类型。

获取

  • 得:根据键获取值,如果未存在此键则回nil

    style=”font-family: "Microsoft YaHei"; font-size: 16px”>get
    key

  • 例5:获取键’name’的值

    style=”font-family: "Microsoft YaHei"; font-size: 16px”>get
    name

  • 基于多单键获取多只价

    style=”font-family: "Microsoft YaHei"; font-size: 16px”>mget
    key1 key2 …

  • 例6:获取键a1、a2、a3’的值

    style=”font-family: "Microsoft YaHei"; font-size: 16px”>mget
    a1 a2 a3

 

其次:redis哈希的操作

删除

  • 抹键及对应之值

    style=”font-family: "Microsoft YaHei"; font-size: 16px”>del
    key1 key2 …

  • 例7:删除键a2、a3

    style=”font-family: "Microsoft YaHei"; font-size: 16px”>del
    a2 a3

HDEL key field2 [field2] 
删除一个或多个哈希表字段
HEXISTS key field 
查看哈希表 key 中,指定的字段是否存在。
HGET key field 
获取存储在哈希表中指定字段的值。
HGETALL key 
获取在哈希表中指定 key 的所有字段和值
HINCRBY key field increment 
为哈希表 key 中的指定字段的整数值加上增量 increment 。
HINCRBYFLOAT key field increment 
为哈希表 key 中的指定字段的浮点数值加上增量 increment 。
HKEYS key 
获取所有哈希表中的字段
HLEN key 
获取哈希表中字段的数量
HMGET key field1 [field2] 
获取所有给定字段的值
HMSET key field1 value1 [field2 value2 ] 
同时将多个 field-value (域-值)对设置到哈希表 key 中。
HSET key field value 
将哈希表 key 中的字段 field 的值设为 value 。
HSETNX key field value 
只有在字段 field 不存在时,设置哈希表字段的值。
HVALS key 
获取哈希表中所有值HSCAN key cursor [MATCH pattern] [COUNT count] 迭代哈希表中的键值对。

 

其三:redis列表操作

键命令

  • 查找键,参数⽀持正则表达式

    style=”font-family: "Microsoft YaHei"; font-size: 16px”>keys
    pattern

  • 例1:查看所有键

    style=”font-family: "Microsoft YaHei"; font-size: 16px”>keys *

  • 章12:查看名称中含有a的键

    style=”font-family: "Microsoft YaHei"; font-size: 16px”>keys
    ‘a*’

  • 判断键是否留存,如果在回1,不存在返回0

    style=”font-family: "Microsoft YaHei"; font-size: 16px”>exists
    key1

  • 例3:判断键a1是不是在

    style=”font-family: "Microsoft YaHei"; font-size: 16px”>exists
    a1

  • 查看键对应之value的档次

    style=”font-family: "Microsoft YaHei"; font-size: 16px”>type
    key

  • 例4:查看键a1的值类型,为redis⽀持的五种类型受到的⼀种

    style=”font-family: "Microsoft YaHei"; font-size: 16px”>type
    a1

  • 装过时,以秒为单位

  • 设若没有点名过期时虽⼀直存在,直到使⽤DEL移除了

    style=”font-family: "Microsoft YaHei"; font-size: 16px”>expire
    key seconds

  • 例5:设置键’a1’的逾期时为3秒

    style=”font-family: "Microsoft YaHei"; font-size: 16px”>expire
    a1 3

  • 翻看中时间,以秒为单位

    style=”font-family: "Microsoft YaHei"; font-size: 16px”>ttl
    key

  • 例6:查看键’bb’的可行时间

    style=”font-family: "Microsoft YaHei"; font-size: 16px”>ttl
    bb

 

BLPOP key1 [key2 ] timeout 
移出并获取列表的第一个元素, 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。
BRPOP key1 [key2 ] timeout 
移出并获取列表的最后一个元素, 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。
BRPOPLPUSH source destination timeout 
从列表中弹出一个值,将弹出的元素插入到另外一个列表中并返回它; 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。
LINDEX key index 
通过索引获取列表中的元素
LINSERT key BEFORE|AFTER pivot value 
在列表的元素前或者后插入元素
LLEN key 
获取列表长度
LPOP key 
移出并获取列表的第一个元素
LPUSH key value1 [value2] 
将一个或多个值插入到列表头部
LPUSHX key value 
将一个或多个值插入到已存在的列表头部
LRANGE key start stop 
获取列表指定范围内的元素
LREM key count value 
移除列表元素
LSET key index value 
通过索引设置列表元素的值
LTRIM key start stop 
对一个列表进行修剪(trim),就是说,让列表只保留指定区间内的元素,不在指定区间之内的元素都将被删除。
RPOP key 
移除并获取列表最后一个元素
RPOPLPUSH source destination 
移除列表的最后一个元素,并将该元素添加到另一个列表并返回
RPUSH key value1 [value2] 
在列表中添加一个或多个值
RPUSHX key value 
为已存在的列表添加值

hash类型

  • hash⽤于储存对象,对象的构造吧性、值
  • 价的种类为string

 

 

增加、修改

  • 装单个属性

    style=”font-family: "Microsoft YaHei"; font-size: 16px”>hset
    key field value

  • 例1:设置键
    user的属性name为itheima

    style=”font-family: "Microsoft YaHei"; font-size: 16px”>hset
    user name itheima

  • 装多单特性

    style=”font-family: "Microsoft YaHei"; font-size: 16px”>hmset
    key field1 value1 field2 value2 …

  • 例2:设置键u2的属性name为itcast、属性age为11

    style=”font-family: "Microsoft YaHei"; font-size: 16px”>hmset
    u2 name itcast age 11

 

四:redis集合

获取

  • 取得指定键所有的习性

    style=”font-family: "Microsoft YaHei"; font-size: 16px”>hkeys
    key

  • 例3:获取键u2底具有属性

    style=”font-family: "Microsoft YaHei"; font-size: 16px”>hkeys
    u2

  • 赢得⼀个属性的价

    style=”font-family: "Microsoft YaHei"; font-size: 16px”>hget
    key field

  • 例4:获取键u2属性’name’的值

    style=”font-family: "Microsoft YaHei"; font-size: 16px”>hget
    u2 name

  • 获取多只属性之值

    style=”font-family: "Microsoft YaHei"; font-size: 16px”>hmget
    key field1 field2 …

  • 例5:获取键u2属性’name’、’age的值

    style=”font-family: "Microsoft YaHei"; font-size: 16px”>hmget
    u2 name age

  • 收获有属性的价值

    style=”font-family: "Microsoft YaHei"; font-size: 16px”>hvals
    key

  • 例6:获取键’u2’持有属性之值

    style=”font-family: "Microsoft YaHei"; font-size: 16px”>hvals
    u2

 

 

删除

  • 除去所有hash键及值,使⽤del命令
  • 抹属性,属性对应的值会被⼀起删除

    style=”font-family: "Microsoft YaHei"; font-size: 16px”>hdel
    key field1 field2 …

  • 例7:删除键’u2’的属性’age’

    style=”font-family: "Microsoft YaHei"; font-size: 16px”>hdel
    u2 age

 

SADD key member1 [member2] 
向集合添加一个或多个成员
SCARD key 
获取集合的成员数
SDIFF key1 [key2] 
返回给定所有集合的差集
SDIFFSTORE destination key1 [key2] 
返回给定所有集合的差集并存储在 destination 中
SINTER key1 [key2] 
返回给定所有集合的交集
SINTERSTORE destination key1 [key2] 
返回给定所有集合的交集并存储在 destination 中
SISMEMBER key member 
判断 member 元素是否是集合 key 的成员
SMEMBERS key 
返回集合中的所有成员
SMOVE source destination member 
将 member 元素从 source 集合移动到 destination 集合
SPOP key 
移除并返回集合中的一个随机元素
SRANDMEMBER key [count] 
返回集合中一个或多个随机数
SREM key member1 [member2] 
移除集合中一个或多个成员
SUNION key1 [key2] 
返回所有给定集合的并集
SUNIONSTORE destination key1 [key2] 
所有给定集合的并集存储在 destination 集合中
SSCAN key cursor [MATCH pattern] [COUNT count] 
迭代集合中的元素

list类型

  • 列表的因素类型为string
  • 按插⼊顺序排序

 

五:有序聚集

增加

  • 以左手插⼊数据

    style=”font-family: "Microsoft YaHei"; font-size: 16px”>lpush
    key value1 value2 …

  • 例1:从键为’a1’的列表左侧加⼊数据a
    、 b 、c

    style=”font-family: "Microsoft YaHei"; font-size: 16px”>lpush
    a1 a b c

  • 于右边插⼊数据

    style=”font-family: "Microsoft YaHei"; font-size: 16px”>rpush
    key value1 value2 …

  • 例2:从键为’a1’的列表右侧加⼊数据0
    1

    style=”font-family: "Microsoft YaHei"; font-size: 16px”>rpush
    a1 0 1

  • 以指定元素的前面或者后插⼊新因素

    style=”font-family: "Microsoft YaHei"; font-size: 16px”>linsert
    key before或after 现有元素 新因素

  • 例3:在键为’a1’的列表中元素’b’前加⼊’3′

    style=”font-family: "Microsoft YaHei"; font-size: 16px”>linsert
    a1 before b 3

ZADD key score1 member1 [score2 member2] 
向有序集合添加一个或多个成员,或者更新已存在成员的分数
ZCARD key 
获取有序集合的成员数
ZCOUNT key min max 
计算在有序集合中指定区间分数的成员数
ZINCRBY key increment member 
有序集合中对指定成员的分数加上增量 increment
ZINTERSTORE destination numkeys key [key ...] 
计算给定的一个或多个有序集的交集并将结果集存储在新的有序集合 key 中
ZLEXCOUNT key min max 
在有序集合中计算指定字典区间内成员数量
ZRANGE key start stop [WITHSCORES] 
通过索引区间返回有序集合成指定区间内的成员
ZRANGEBYLEX key min max [LIMIT offset count] 
通过字典区间返回有序集合的成员
ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT] 
通过分数返回有序集合指定区间内的成员
ZRANK key member 
返回有序集合中指定成员的索引
ZREM key member [member ...] 
移除有序集合中的一个或多个成员
ZREMRANGEBYLEX key min max 
移除有序集合中给定的字典区间的所有成员
ZREMRANGEBYRANK key start stop 
移除有序集合中给定的排名区间的所有成员
ZREMRANGEBYSCORE key min max 
移除有序集合中给定的分数区间的所有成员
ZREVRANGE key start stop [WITHSCORES] 
返回有序集中指定区间内的成员,通过索引,分数从高到底
ZREVRANGEBYSCORE key max min [WITHSCORES] 
返回有序集中指定分数区间内的成员,分数从高到低排序
ZREVRANK key member 
返回有序集合中指定成员的排名,有序集成员按分数值递减(从大到小)排序
ZSCORE key member 
返回有序集中,成员的分数值
ZUNIONSTORE destination numkeys key [key ...] 
计算给定的一个或多个有序集的并集,并存储在新的 key 中
ZSCAN key cursor [MATCH pattern] [COUNT count] 
迭代有序集合中的元素(包括元素成员和元素分值)

 

六:redis事物的落实

获取

  • 归来列表⾥指定范围外的因素

    • start、stop为要素的下标索引
    • 目录从左开,第⼀个要素为0
    • 目录可以是负数,表示从尾部开始计数,如-1代表最终⼀个要素

    lrange key start stop

  • 例4:获取键为’a1’的列表所有因素

    style=”font-family: "Microsoft YaHei"; font-size: 16px”>lrange
    a1 0 -1

 

 

设置指定索引位置的元素值

  • 目录从左开,第⼀个因素为0
  • 目录可以是负数,表示尾部开始计数,如-1表示最终⼀个因素

    style=”font-family: "Microsoft YaHei"; font-size: 16px”>lset
    key index value

  • 例5:修改键为’a1’的列表中下标为1底元素值为’z’

    style=”font-family: "Microsoft YaHei"; font-size: 16px”>lset
    a 1 z

 

DISCARD 
取消事务,放弃执行事务块内的所有命令。
EXEC 
执行所有事务块内的命令。
MULTI 
标记一个事务块的开始。
UNWATCH 
取消 WATCH 命令对所有 key 的监视。
WATCH key [key ...] 
监视一个(或多个) key ,如果在事务执行之前这个(或这些) key 被其他命令所改动,那么事务将被打断。

删除

  • 去指定元素

    • 拿列表中前count次面世的值也value的因素移除
    • count > 0: 从头往尾移除
    • count < 0: 从尾往头移除了
    • count = 0: 移除所有

    lrem key count value

  • 例6.1:向列表’a2’中加⼊元素’a’、’b’、’a’、’b’、’a’、’b’

    style=”font-family: "Microsoft YaHei"; font-size: 16px”>lpush
    a2 a b a b a b

  • 例6.2:从’a2’列表右侧开去2只’b’

    style=”font-family: "Microsoft YaHei"; font-size: 16px”>lrem
    a2 -2 b

  • 例6.3:查看列表’py12’的有因素

    style=”font-family: "Microsoft YaHei"; font-size: 16px”>lrange
    a2 0 -1

 

 

set类型

  • ⽆序集合
  • 元素为string类型
  • 素具有唯⼀性,不重
  • 证明:对于集合没有改操作

 

增加

  • 补加元素

    style=”font-family: "Microsoft YaHei"; font-size: 16px”>sadd
    key member1 member2 …

  • 例1:向键’a3’的汇中上加元素’zhangsan’、’lisi’、’wangwu’

    style=”font-family: "Microsoft YaHei"; font-size: 16px”>sadd
    a3 zhangsan sili wangwu

 

获取

  • 回到所有的因素

    style=”font-family: "Microsoft YaHei"; font-size: 16px”>smembers
    key

  • 例2:获取键’a3’的成团中装有因素

    style=”font-family: "Microsoft YaHei"; font-size: 16px”>smembers
    a3

 

删除

  • 去除指定元素

    style=”font-family: "Microsoft YaHei"; font-size: 16px”>srem
    key

  • 例3:删除键’a3’的集合中元素’wangwu’

    style=”font-family: "Microsoft YaHei"; font-size: 16px”>srem
    a3 wangwu

 

zset类型

  • sorted
    set,有序聚集
  • 元素为string类型
  • 素具有唯⼀性,不又
  • 每个元素都见面干⼀个double类型的score,表示权重,通过权重将元素于⼩到⼤排序
  • 征:没有改动操作

 

增加

  • 添加

    style=”font-family: "Microsoft YaHei"; font-size: 16px”>zadd
    key score1 member1 score2 member2 …

  • 例1:向键’a4’的联谊中上加元素’lisi’、’wangwu’、’zhaoliu’、’zhangsan’,权重分别吗4、5、6、3

    style=”font-family: "Microsoft YaHei"; font-size: 16px”>zadd
    a4 4 lisi 5 wangwu 6 zhaoliu 3 zhangsan

获取

  • 返回指定范围外的因素
  • start、stop为要素的下标索引
  • 目录从左开,第⼀独要素为0
  • 目录可以是负数,表示从今尾部开始计数,如-1意味最终⼀个要素

    style=”font-family: "Microsoft YaHei"; font-size: 16px”>zrange
    key start stop

  • 例2:获取键’a4’的集结中保有因素

    style=”font-family: "Microsoft YaHei"; font-size: 16px”>zrange
    a4 0 -1

  • 回来score值在min和max之间的分子

    style=”font-family: "Microsoft YaHei"; font-size: 16px”>zrangebyscore
    key min max

  • 例3:获取键’a4’的聚众中权重值在5及6里面的分子

    style=”font-family: "Microsoft YaHei"; font-size: 16px”>zrangebyscore
    a4 5 6

  • 回到成员member的score值

    style=”font-family: "Microsoft YaHei"; font-size: 16px”>zscore
    key member

  • 例4:获取键’a4’的集合中元素’zhangsan’的权重

    style=”font-family: "Microsoft YaHei"; font-size: 16px”>zscore
    a4 zhangsan

 

删除

  • 去除指定元素

    style=”font-family: "Microsoft YaHei"; font-size: 16px”>zrem
    key member1 member2 …

  • 例5:删除集合’a4’中元素’zhangsan’

    style=”font-family: "Microsoft YaHei"; font-size: 16px”>zrem
    a4 zhangsan

 

  • 抹权重在指定范围的元素

    style=”font-family: "Microsoft YaHei"; font-size: 16px”>zremrangebyscore
    key min max

  • 例6:删除集合’a4’中权重在5、6中间的因素

    style=”font-family: "Microsoft YaHei"; font-size: 16px”>zremrangebyscore
    a4 5 6

 

留下评论

网站地图xml地图