连接控制
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
修改复制选项
redis目前提供四种数据类型:string,list,set及zset(sorted set)。
* string是最简单的类型,你可以理解成与Memcached一模一个的类型,一个key对应一个value,其上支持的操作与Memcached的操 作类似。但它的功能更丰富。
* list是一个链表结构,主要功能是push、pop、获取一个范围的所有值等等。操作中key理解为链表的名字。
* set是集合,和我们数学中的集合概念相似,对集合的操作有添加删除元素,有对多个集合求交并差等操作。操作中key理解为集合的名字。
*
zset是set的一个升级版本,他在set的基础上增加了一个顺序属性,这一属性在添加修改元素的时候可以指定,每次指定后,zset会自动重新按新的
值调整顺序。可以理解了有两列的mysql表,一列存value,一列存顺序。操作中key理解为zset的名字。
协议
redis目前只有基于TCP的文本协议,与memcache类似,有一些改进。
客户端通常发送
命令 参数… 值字节数\r\n
值\r\n
服务端的返回,根据第一个字节,可以判断:
- 错误信息
+ 普通文本信息
$ 变长字节数,$6表示CRLF之后有6个字节的字符
: 返回一个整数
* 返回组数,即*6表示CRLF之后将返回6组变长字符
注意事项:
Key不可包含空格或者回车符
Key不要过长或过短,应使其有意义,如”comment:1234:reply.to”
分享到:
相关推荐
### Redis介绍文档学习知识点 #### 一、Redis简介 Redis是一种高效的开源数据库系统,它以键值对的形式存储数据,并且这些数据主要驻留在内存中,以实现高速访问。作为一种NoSQL数据库,Redis具备多种独特的优势,...
可以在`redis.conf`文件中通过`port`指令进行修改: ``` port 6379 ``` **2. 指定Redis的配置文件** 在安装完成后,默认的配置文件位于`redis.conf`。可以通过编辑该文件来调整各种配置选项。 **3. 指定Redis的...
Redis是一款开源的高性能键值...每条指令都有其特定的使用场景和参数要求,使用时需严格按照Redis官方文档中的描述来执行。在执行一些删除或修改类的指令时,用户应确保操作的正确性,以免造成数据丢失或其他意外情况。
Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。 附件里面包括redis源码,phpredis源码,redis指令及文档
本部署文档将详细说明Redis单机环境部署、集群环境部署以及监控集群部署的步骤和方法。 ### Redis单机环境部署 #### 1. 安装目录准备 部署前首先要创建一个用于存放Redis软件的目录。通常建议将其安装在`/usr/...
下面我们将根据提供的文档内容详细阐述 Redis 的基本指令及其用法。 #### 启动 Redis 服务 在 Windows 系统下,可以通过执行 `redis-server.exe redis.windows.conf` 命令来启动 Redis 服务。这里 `redis.windows....
**:Redis采用单线程模型,通过优化内存操作指令来保证高并发下的性能。 - **如何选择RDB和AOF?**:根据数据的重要性和对恢复时间的要求选择合适的持久化方案。 - **Redis的内存淘汰策略有哪些?**:包括volatile-...
### Redis命令大全详解 #### 一、Keys命令 Redis提供了丰富的键管理命令,这些命令能够帮助用户有效地管理和操作键。 **1. DEL key** - **功能**: 删除已存在的键。 - **示例**: `DEL mykey` 如果键 `mykey` 孌在...
### Redis技术文档知识点详解 #### 一、技术来源与背景 **Redis**(REmote DIctionary Server)是由Salvatore Sanfilippo开发的一个开源的、高性能的键值存储系统。它采用ANSI C语言编写,遵循BSD许可协议。Redis...
Redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理。它支持字符串、哈希表、列表、集合、有序集合,位图,hyperloglogs等数据类型。内置复制、Lua脚本、LRU收回、事务...
- 编辑`redis.conf`,设置`slaveof`指令以指向Master节点,例如: ``` slaveof 172.20.2.20 6379 ``` - **启动Slave节点**: - `cd src` - `./redis-server ../redis.conf` **3.3 哨兵(Sentinel)配置** - **...
本文档是 Redis Command Reference 和 Redis Documentation 的中文翻译版:所有 Redis 命令文档均已翻译完毕, Redis 最重要的一部分主题(topic)文档,比如事务、持久化、复制、Sentinel、集群等文章也已翻译完毕...
1. **复制设置**:同上,从节点也需要开启复制功能,通过 `replicaof` 指令设置主节点的IP和端口。 2. **复制模式**:从节点可以设置为只读,这意味着客户端不能在其上执行写操作。这可以通过 `slave-read-only yes...
### Redis安装配置知识点详解 #### 一、Redis简介与安装前的准备 **知识点1:Redis定义** - **定义**:Redis是一个开源的...为了更好地利用Redis的强大功能和优化性能,建议深入研究Redis的官方文档和其他相关资源。
- **RDB**: 通过配置`save`指令来决定何时触发快照。 - **AOF**: 可以配置`appendonly`为`yes`开启AOF持久化,并通过`appendfsync`控制同步策略。 **3.4 集群模式** Redis集群允许将数据分布在多个节点上,以实现...
修改`/etc/redis.conf`,添加`slaveof`指令,指定主节点的IP和端口。 3. 重启从节点Redis服务,开始复制: ``` sudo systemctl restart redis ``` 三、Redis哨兵集群 哨兵系统是Redis的高可用性解决方案,它...
第 1 章Redis 介绍. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 第 2 章数据类型初探. . . . . . . . . . . . . . . . . . . . . . . . . . . . . ...
本文档将对Redis的数据类型和相关指令进行整理。 在探讨具体数据类型和指令前,首先要了解Redis键(key)的概念。Redis的key是字符串类型,但不允许包含换行符和空字符等边界字符。由于Redis对key的值是二进制安全...
Redis拥有活跃的社区和详尽的官方文档,遇到问题时,可以查阅文档或在线寻求帮助。Redis的GitHub仓库也有许多实用的示例和教程。 以上就是关于"redis32位安装包"的相关知识点,希望对你在Windows环境下安装和使用...
- **复制**:如果需要创建主从复制环境,可以配置`replicaof`指令以指定主服务器的IP和端口。 - **监控与性能**:使用`INFO`命令获取服务器状态信息,通过`MONITOR`命令实时查看操作,以及使用`slowlog`管理慢查询...