Redis 命令二

  一、连接控制

    QUIT 关闭连接

    AUTH (仅限启用时)简单的密码验证

  二、适合全体类型的命令

    EXISTS key 判断一个键是否存在;存在返回 1;否则返回0;

    DEL key 删除某个key,或是一系列key;DEL key1 key2 key3 key4

    TYPE key 返回某个key元素的数据类型 ( none:不存在,string:字符,list,set,zset,hash)

    KEYS pattern 返回匹配的key列表 (KEYS foo*:查找foo开头的keys)

    RANDOMKEY 随机获得一个已经存在的key,如果当前数据库为空,则返回空字符串

    RENAME oldname newname更改key的名字,新键如果存在将被覆盖

    RENAMENX oldname newname 更改key的名字,如果名字存在则更改失败

    DBSIZE返回当前数据库的key的总数

    EXPIRE设置某个key的过期时间(秒),(EXPIRE bruce 1000:设置bruce这个key1000秒后系统自动删除)注意:如果在还没有过期的时候,对值进行了改变,那么那个值会被清除。

    TTL查找某个key还有多长时间过期,返回时间秒

    SELECT index 选择数据库

    MOVE key dbindex 将指定键从当前数据库移到目标数据库 dbindex。成功返回 1;否则返回0(源数据库不存在key或目标数据库已存在同名key);

    FLUSHDB 清空当前数据库中的所有键

    FLUSHALL 清空所有数据库中的所有键

  三、处理字符串的命令

    SET key value 给一个键设置字符串值。SET keyname datalength data (SET bruce 10 paitoubing:保存key为burce,字符串长度为10的一个字符串paitoubing到数据库),data最大不可超过1G。

    GET key获取某个key 的value值。如key不存在,则返回字符串“nil”;如key的值不为字符串类型,则返回一个错误。

    GETSET key value可以理解成获得的key的值然后SET这个值,更加方便的操作 (SET bruce 10 paitoubing,这个时候需要修改bruce变成1234567890并获取这个以前的数据paitoubing,GETSET bruce 10 1234567890)

    MGET key1 key2 … keyN 一次性返回多个键的值

    SETNX key value SETNX与SET的区别是SET可以创建与更新key的value,而SETNX是如果key不存在,则创建key与value数据

    MSET key1 value1 key2 value2 … keyN valueN 在一次原子操作下一次性设置多个键和值

    MSETNX key1 value1 key2 value2 … keyN valueN 在一次原子操作下一次性设置多个键和值(目标键不存在情况下,如果有一个以上的key已存在,则失败)

    INCR key 自增键值

    INCRBY key integer 令键值自增指定数值

    DECR key 自减键值

    DECRBY key integer 令键值自减指定数值

  四、处理 lists 的命令

    RPUSH key value 从 List 尾部添加一个元素(如序列不存在,则先创建,如已存在同名Key而非序列,则返回错误)

    LPUSH key value 从 List 头部添加一个元素

    LLEN key 返回一个 List 的长度

    LRANGE key start end从自定的范围内返回序列的元素 (LRANGE testlist 0 2;返回序列testlist前0 1 2元素)

    LTRIM key start end修剪某个范围之外的数据 (LTRIM testlist 0 2;保留0 1 2元素,其余的删除)

    LINDEX key index返回某个位置的序列值(LINDEX testlist 0;返回序列testlist位置为0的元素)

    LSET key index value更新某个位置元素的值

    LREM key count value 从 List 的头部(count正数)或尾部(count负数)删除一定数量(count)匹配value的元素,返回删除的元素数量。

    LPOP key 弹出 List 的第一个元素

    RPOP key 弹出 List 的最后一个元素

    RPOPLPUSH srckey dstkey 弹出 _srckey_ 中最后一个元素并将其压入 _dstkey_头部,key不存在或序列为空则返回“nil”

  五、处理集合(sets)的命令(有索引无序序列)

    SADD key member增加元素到SETS序列,如果元素(membe)不存在则添加成功 1,否则失败 0;(SADD testlist 3 \n one)

    SREM key member 删除SETS序列的某个元素,如果元素不存在则失败0,否则成功 1(SREM testlist 3 \N one)

    SPOP key 从集合中随机弹出一个成员

    SMOVE srckey dstkey member 把一个SETS序列的某个元素 移动到 另外一个SETS序列 (SMOVE testlist test 3\n two;从序列testlist移动元素two到 test中,testlist中将不存在two元素)

    SCARD key 统计某个SETS的序列的元素数量

    SISMEMBER key member 获知指定成员是否存在于集合中

    SINTER key1 key2 … keyN 返回 key1, key2, …, keyN 中的交集

    SINTERSTORE dstkey key1 key2 … keyN 将 key1, key2, …, keyN 中的交集存入 dstkey

    SUNION key1 key2 … keyN 返回 key1, key2, …, keyN 的并集

    SUNIONSTORE dstkey key1 key2 … keyN 将 key1, key2, …, keyN 的并集存入 dstkey

    SDIFF key1 key2 … keyN 依据 key2, …, keyN 求 key1 的差集。

    官方例子

      key1 = x,a,b,c

      key2 = c

      key3 = a,d

      SDIFF key1,key2,key3 => x,b

    SDIFFSTORE dstkey key1 key2 … keyN 依据 key2, …, keyN 求 key1 的差集并存入 dstkey

    SMEMBERS key 返回某个序列的所有元素

    SRANDMEMBER key 随机返回某个序列的元素

  六、处理有序集合(sorted sets)的命令 (zsets)

    ZADD key score member 添加指定成员到有序集合中,如果目标存在则更新score(分值,排序用)

    ZREM key member 从有序集合删除指定成员

    ZINCRBY key increment member 如果成员存在则将其增加_increment_,否则将设置一个score为_increment_的成员

    ZRANGE key start end 返回升序排序后的指定范围的成员

    ZREVRANGE key start end 返回降序排序后的指定范围的成员

    ZRANGEBYSCORE key min max 返回所有符合score >= min和score <= max的成员 ZCARD key 返回有序集合的元素数量 ZSCORE key element 返回指定成员的SCORE值 ZREMRANGEBYSCORE key min max

    删除符合 score >= min 和 score <= max 条件的所有成员

  七、排序(List, Set, Sorted Set)

    SORT key BY pattern LIMIT start end GET pattern ASC|DESC ALPHA 按照指定模式排序集合或List

    SORT mylist

    默认升序 ASC

    SORT mylist DESC

    SORT mylist LIMIT 0 10

    从序号0开始,取10条

    SORT mylist LIMIT 0 10 ALPHA DESC

    按首字符排序

    SORT mylist BY weight_*

    SORT mylist BY weight_* GET object_*

    SORT mylist BY weight_* GET object_* GET #

    SORT mylist BY weight_* STORE resultkey  将返回的结果存放于resultkey序列(List)

  八、持久控制

    SAVE 同步保存数据到磁盘

    BGSAVE 异步保存数据到磁盘

    LASTSAVE 返回上次成功保存到磁盘的Unix时间戳

    SHUTDOWN 同步保存到服务器并关闭 Redis 服务器(SAVE+QUIT)

    BGREWRITEAOF 当日志文件过长时重写日志文件

  九、远程控制命令

    INFO 提供服务器的信息和统计信息

    MONITOR 实时输出所有收到的请求

    SLAVEOF 修改复制选项

  命令都是大写,其实小写也是可以的。

时间: 2024-08-04 21:46:50

Redis 命令二的相关文章

Redis(二)相关命令

(一)简介 Redis 命令用于在 redis 服务上执行操作. 要在 redis 服务上执行命令需要一个 redis 客户端.Redis 客户端在我们之前下载的的 redis 的安装包中.Redis 客户端的基本语法为:redis-cli [[email protected] ~]# /usr/local/redis-3.2.9/src/redis-cli  127.0.0.1:6379> ping PONG 127.0.0.1:6379> 远程登录为: [[email protected]

Redis系列(二):Redis的5种数据结构及其常用命令

上一篇博客,我们讲解了什么是Redis以及在Windows和Linux环境下安装Redis的方法, 没看过的同学可以点击以下链接查看: Redis系列(一):Redis简介及环境安装. 本篇博客我们来讲解下Redis的5种数据结构及其常用命令,5种数据结构分别为: 字符串String 列表List 集合Set 散列Hash 有序集合ZSet 注意事项:Redis可以存储键(key)值(value)对的映射,其中键(key)一直是String,而值可以是上面提到的5种数据结构中的一种. 1. 字符

redis安装二

redis安装二 redis-2.8.19 建立目录 mkdir redis_7000 解压缩到目录redis_7000, tar -xzvf redis-2.8.19 -C redis_7000 进入目录redis_7000/redis-2.8.19,把当前目录下的所有文件以及子目录移动到当前目录的父目录,cp * ../ 删除redis-2.8.19目录,rm -rf redis-2.8.19. 回到目录redis_7000,执行make,此时,在当前目录的src目录总多了redis-ser

Redis系列--4、Redis命令

键命令.字符串命令.哈希命令.列表命令.集合(有序集合)命令.服务器命令 一.Redis的键命令 S.N. 命令 & 描述 1 DEL key此命令删除键,如果存在 2 DUMP key 该命令返回存储在指定键的值的序列化版本. 3 EXISTS key 此命令检查该键是否存在. 4 EXPIRE key seconds指定键的过期时间 5 EXPIREAT key timestamp 指定的键过期时间.在这里,时间是在Unix时间戳格式 6 PEXPIRE key milliseconds 设

redis(二)高级用法

redis(二)高级用法 事务 redis的事务是一组命令的集合.事务同命令一样都是redis的最小执行单元,一个事务中的命令要么执行要么都不执行. 首先需要multi命令来开始事务,用exec命令来执行事务. 127.0.0.1:6379> multi OK 127.0.0.1:6379> hset user:1 name xiaoming QUEUED 127.0.0.1:6379> hset user:1 name daxiong QUEUED 127.0.0.1:6379>

Redis学习二

Redis学习二 标签(空格分隔): Redis 一,link 链表结构 1,lpush key value (rpush插入到链表尾部) 作用: 把值插入到链接头部 2,rpop key(lpop key 返回并删除链表的头元素) 作用: 返回并删除链表尾元素 3,lrange key start stop 作用: 返回链表中[start ,stop]中的元素 规律: 左数从0开始,右数从-1开始 lrange link 0 2 lrange link 0 -1 4,lrem key coun

学习Redis(二)

自关系型DB诞生40年来,从理论产生到现实产品(MySQL.Oracle),已在DB领域上升到了霸主地位,每年数百亿$的庞大产业市场: 随着web2.0的兴起,对于规模日益庞大的海量数据,传统的关系型DB显得力不从心,如超大规模和高并发的微博.微信.SNS(socail network site,socail network services)纯动态网站等,关系型DB面临很多难以克服的问题,有IO瓶颈.性能瓶颈都难以有效突破,于是出现了很多针对特定场景,以高性能和使用便利为目的的差异化的DB产品

细说Redis(二)之 Redis的持久化

原文:细说Redis(二)之 Redis的持久化 前言 在上一篇文章[细说Redis(一)之 Redis的数据结构与应用场景]中,主要介绍了Reids的数据结构. 对于redis的执行命令,这里不做介绍,因为网上搜索一堆,无必要再做介绍. AOF&RDB Redis的有两种持久化,分别是AOF.RDB. AOF是文件增量存储.RDB是文件快照.AOF是存储的是redis的每个步骤增删改的命令. 区别 在Redis内部机制来说,RDB模式首先产生一个子进程,调用fork().然后用子线程写到一个临

redis入门(二)

目录 redis入门(二) 前言 持久化 RDB AOF 持久化文件加载 高可用 哨兵 流程 安装部署 配置技巧 集群 原理 集群搭建 参考文档 redis入门(二) 前言 在redis入门(一)简单介绍了redis的历史和安装部署,以及基本的数据结构和api,本节讲解redis持久化.高可用.redis集群和分布式相关的知识. 持久化 redis作为内存数据库,数据全部存储到内存中.但是若出现断电等原因会造成数据丢失.redis内置了2种持久化的方式,分别为RDB持久化和AOF持久化. RDB