首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Redis数据库的命令行操作

Redis数据库的命令行操作

作者头像
IT云清
发布2019-01-22 09:35:07
1.2K0
发布2019-01-22 09:35:07
举报
文章被收录于专栏:IT云清IT云清IT云清

Redis简介:

1.Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。

2.几个特点:

存储的数据类型

         字符串,散列,列表,集合,有序集合

内存存储持久化

         内存读写速度快,持久化到硬盘(RDB,AOF)

功能丰富

         可用于缓存,队列,消息订阅发布

         支持键的生存时间

         按照一定规则删除键

简单稳定

         比SQL稳定简单

         支持多种客户端

         c语言开发,3万行代码

3.有5种数据结构,分别是:String,  List,  Hash,  Set,  SortedSet.

4.有2种持久化机制,分别是:RDB,AOF。(见下一篇文章)

下面说一下这几种数据类型的命令行操作

1.String

1). set key value : 将字符串值 value 关联到 key 。如果 key 已经持有其他值, SET 就覆写旧值,无视类型.

2). get key : 返回 key 所关联的字符串值。如果key 不存在那么返回特殊值 nil 。

3). MSET key value [key value ...] : 同时设置一个或多个key-value 对。如果某个给定 key 已经存在,那么 MSET 会用新值覆盖原来的旧值

4). MGET key [key ...] : 返回所有(一个或多个)给定 key 的值。如果给定的 key 里面,有某个 key 不存在,那么这个 key 返回特殊值 nil 。

5). MSETNX key value [key value ...] : 同时设置一个或多个key-value 对 . 即使只有一个给定 key 已存在, MSETNX 也会拒绝执行所有给定 key 的设置操作。

6). APPEND key value : 如果 key 已经存在并且是一个字符串,APPEND 命令将 value 追加到 key 原来的值的末尾。如果 key 不存在, APPEND 就简单地将给定 key 设为 value

7). INCR key : 将 key 中储存的数字值增一。(使用广泛,比如商品存储时,使用redis统一管理id)

8). DECR key : 将 key 中储存的数字值减一。

9). INCRBY key increment : 将 key 所储存的值加上增量increment 。

10). DECRBY key decrement : 将 key 所储存的值减去减量decrement 。

11). GETSET key value : 将给定 key 的值设为 value ,并返回 key 的旧值(oldvalue)。

12). STRLEN key : 返回 key 所储存的字符串值的长度

13). SETNX key value : 将 key 的值设为 value ,当且仅当 key 不存在。若给定的 key 已经存在,则 SETNX 不做任何动作。

14). SETEX key seconds value : 将值 value 关联到 key ,并将 key 的生存时间设为seconds (以秒为单位)。

15). SETRANGE key offset value : 用 value 参数覆写(overwrite)给定 key 所储存的字符串值,从偏移量offset 开始。

16). GETRANGE key start end : 返回 key 中字符串值的子字符串,字符串的截取范围由 start 和 end 决定(包括 start 和 end 在内)。

17). SETBIT key offset value : 对 key 所储存的字符串值,设置或清除指定偏移量上的位(bit)。

18).GETBIT key offset : 对 key 所储存的字符串值,获取指定偏移量上的位(bit).

2.List

1). LPUSH key value [value ...] : 将一个或多个值 value插入到列表 key 的表头.

2). LRANGE key start end : 返回列表 key 中指定区间内的元素,区间以偏移量 start 和 end 指定。

3). LPUSHX key value : 将值 value 插入到列表 key 的表头,当且仅当 key 存在并且是一个列表。

4). LPOP key : 移除并返回列表 key 的头元素。

5). LLEN key : 返回列表 key 的长度。

6). LREM key count value : 根据参数 count 的值,从头部开始移除列表中与参数 value 相等的元素。

7). LSET key index value : 将列表 key 下标为 index 的元素的值设置为value 。

8). LINDEX key index : 返回列表 key 中,下标为 index 的元素。

9). LTRIM key start end : 对一个列表进行修剪(trim),就是说,让列表只保留指定区间内的元素,不在指定区间之内的元素都将被删除。

10). LINSERT key BEFORE|AFTER pivot value :将值 value 插入到列表 key 当中,位于值 pivot 之前或之后。

11). RPUSH key value [value ...] : 将一个或多个值 value插入到列表 key 的表尾(最右边)。

12). RPUSHX key value : 将值 value 插入到列表 key 的表尾,当且仅当 key 存在并且是一个列表。

13). RPOP key : 移除并返回列表 key 的尾元素。

14).RPOPLPUSH source destination : 在一个原子时间内,执行两个动作:将列表 source 中的最后一个元素(尾元素)弹出,并返回给客户端。将 source 弹出的元素插入到列表 destination ,作为 destination 列表的的头元素。

3.Hash

1). HSET key field value : 将哈希表 key 中的域 field 的值设为 value 。

2). HGET key field : 返回哈希表 key 中给定域 field 的值。

3). HSETNX key field value : 将哈希表 key 中的域 field 的值设置为 value ,当且仅当域 field 不存在。

4). HEXISTS key field : 查看哈希表 key 中,给定域 field 是否存在。

5). HLEN key : 返回哈希表 key 中域的数量。

6). HDEL key field [field ...] : 删除哈希表 key 中的一个或多个指定域,不存在的域将被忽略。

7). HINCRBY key field increment : 为哈希表 key 中的域 field 的值加上增量increment 。

8). HGETALL key : 返回哈希表 key 中,所有的域和值。

9). HKEYS key : 返回哈希表 key 中的所有域。

10). HVALS key : 返回哈希表 key 中所有域的值。

11). HMSET key field value [field value...] : 同时将多个 field-value (域-值)对设置到哈希表 key 中。

12). HMGET key field [field ...] : 返回哈希表 key 中,一个或多个给定域的值.

4.Set

1). SADD key member [member ...] : 将一个或多个 member元素加入到集合 key 当中,已经存在于集合的 member 元素将被忽略。

2). SMEMBERS key : 返回集合 key 中的所有成员。

3). SCARD key : 返回集合 key 的基数(集合中元素的数量)。

4). SISMEMBER key member : 判断 member 元素是否集合 key 的成员。

5). SPOP key : 移除并返回集合中的一个随机元素。

6). SRANDMEMBER key  : 如果命令执行时,只提供了 key 参数,那么返回集合中的一个随机元素。

7). SREM key member [member ...] : 移除集合 key 中的一个或多个member 元素,不存在的 member 元素会被忽略。

8). SMOVE source destination member : 将 member 元素从 source 集合移动到destination 集合。SMOVE 是原子性操作。

9). SDIFF set1 set2 : 返回一个集合的全部成员,该集合是所有给定集合之间的差集。

10). SDIFFSTORE diffSet set1 set2 : 这个命令的作用和SDIFF 类似,但它将结果保存到 destination 集合,而不是简单地返回结果集。

11). SUNION set1 set2 : 返回一个集合的全部成员,该集合是所有给定集合的并集。

12). SUNIONSTORE unionset set1 set2 : 这个命令类似于SUNION 命令,但它将结果保存到 destination 集合,而不是简单地返回结果集。

13). SINTER set1 set2 : 返回一个集合的全部成员,该集合是所有给定集合的交集。

14).  SINTERSTORE interset set1 set2: 这个命令类似于 SINTER 命令,但它将结果保存到 destination 集合,而不是简单地返回结果集。

5.SortedSet

1). ZADD key score member [[scoremember]  ...] : 将一个或多个 member元素及其 score 值加入到有序集 key 当中。

2). ZCARD key : 返回有序集 key 的元素个数。

3). ZINCRBY key increment member : 为有序集 key 的成员 member 的 score 值加上增量increment 。

4). ZCOUNT key min max : 返回有序集 key 中, score 值在 min 和 max 之间(默认包括 score 值等于 min 或 max )的成员的数量。

5). ZRANGE key start end [WITHSCORES] : 返回有序集 key 中,指定区间内的成员。其中成员的位置按 score 值递增(从小到大)来排序。(按照排名取)

6). ZREVRANGE key start end [WITHSCORES] : 返回有序集 key 中,指定区间内的成员。其中成员的位置按 score 值递减(从大到小)来排列。(按照排名取)

7). ZRANGEBYSCORE key min max [WITHSCORES][LIMIT offset count] : 返回所有 score 值介于 min 和 max 之间(包括等于 min 或 max )的成员。有序集成员按 score 值递增(从小到大)次序排列。

8). ZREVRANGEBYSCORE key max min[WITHSCORES] [LIMIT offset count] : 返回score 值介于 max 和 min 之间(默认包括等于 max 或 min )的所有的成员。有序集成员按score 值递减(从大到小)的次序排列。

9). ZRANK key member : 返回有序集 key 中成员 member 的排名。其中有序集成员按score 值递增(从小到大)顺序排列。

10). ZREVRANK key member : 返回有序集 key 中成员 member 的排名。其中有序集成员按score 值递减(从大到小)排序。

11). ZSCORE key member : 返回有序集 key 中,成员 member 的 score 值。

12). ZREM key member [member ...] : 移除有序集 key 中的一个或多个成员,不存在的成员将被忽略。

13). ZREMRANGEBYRANK key start stop : 移除有序集 key 中,指定排名(rank)区间内的所有成员。区间分别以下标参数 start 和 stop 指出,包含 start 和 stop 在内。

14).ZREMRANGEBYSCORE key min max : 移除有序集 key 中,所有 score 值介于 min 和 max 之间(包括等于 min 或 max )的成员。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017年08月27日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 Redis
腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档