Redis 环境搭建及运行

安装(Ubuntu举例,其他系统类似)

apt-get update && apt-get install redis-server -y

启动 redis

redis-server &

注:加上 & 是让 redis-server 运行在后台,按 enter 后,即可不阻塞当前终端。

redis 自带客户端连接 redis-server

redis-cli

Redis 连接与安全验证

redis 设置 pass 验证

Redis数据库可以使用安全的方案,使得进行连接的任何客户端在执行命令之前都需要进行身份验证。

要保护Redis安全,需要在配置文件中设置密码。

查看密码配置

CONFIG get requirepass

默认情况下此属性为空,这表示还没有为此实例设置密码。您可以通过执行以下命令更改此属性。如下所示:

1) "requirepass"
2) ""

进行密码配置

CONFIG set requirepass "pwd-store-in-server"

注:pwd-store-in-server 是你设置的密码

CONFIG get requirepass

设置密码后,如果任何客户端运行命令而不进行身份验证,则会返回一个 (error) NOAUTH Authentication required. 的错误信息。 因此,客户端需要使用AUTH命令来验证。

AUTH命令语法

AUTH YourNewPassword

Redis连接命令

下表列出了与Redis连接相关的一些基本命令。

redis-cli
序号 命令 说明
1 AUTH password 使用给定的密码验证服务器
2 ECHO message 打印给定的字符串信息
3 PING 检查服务器是否正在运行
4 QUIT 关闭当前连接
5 SELECT index 更改当前连接的所选数据库

在远程服务器上运行命令

要在Redis远程服务器上运行命令,需要通过客户端redis-cli连接到服务器

语法:

redis-cli -h host -p port -a password
  • host : 主机
  • port : 端口
  • password : 密码

举例:

redis-cli -h 127.0.0.1 -p 6379 -a 123456

Redis 数据结构-键(key)

Redis 键命令用于管理 Redis 中的键。以下是使用redis键命令的语法。

COMMAND KEY_NAME

Redis键命令

下表列出了与键相关的一些基本命令。

编号 命令 描述
1 DEL key 此命令删除一个指定键(如果存在)。
2 DUMP key 此命令返回存储在指定键的值的序列化版本。
3 EXISTS key 此命令检查键是否存在。
4 EXPIRE key seconds 设置键在指定时间秒数之后到期/过期。
5 EXPIREAT key timestamp 设置在指定时间戳之后键到期/过期。这里的时间是Unix时间戳格式。
6 PEXPIRE key milliseconds 设置键的到期时间(以毫秒为单位)。
7 PEXPIREAT key milliseconds-timestamp 以Unix时间戳形式来设置键的到期时间(以毫秒为单位)。
8 KEYS pattern 查找与指定模式匹配的所有键。
9 MOVE key db 将键移动到另一个数据库。
10 PERSIST key 删除指定键的过期时间,得永生。
11 PTTL key 获取键的剩余到期时间。
12 RANDOMKEY 从Redis返回一个随机的键。
13 RENAME key newkey 更改键的名称。
14 PTTL key 获取键到期的剩余时间(以毫秒为单位)。
15 RENAMENX key newkey 如果新键不存在,重命名键。
16 TYPE key 返回存储在键中的值的数据类型。

Redis 数据结构-字符串(string)

Redis字符串命令

下表列出了一些用于在 Redis 中管理字符串的基本命令。

编号 命令 描述说明
1 SET key value 此命令设置指定键的值。
2 GET key 获取指定键的值。
3 GETRANGE key start end 获取存储在键上的字符串的子字符串。
4 GETSET key value 设置键的字符串值并返回其旧值。
5 GETBIT key offset 返回在键处存储的字符串值中偏移处的位值。
6 MGET key1 [key2…] 获取所有给定键的值
7 SETBIT key offset value 存储在键上的字符串值中设置或清除偏移处的位
8 SETEX key seconds value 使用键和到期时间来设置值
9 SETNX key value 设置键的值,仅当键不存在时
10 SETRANGE key offset value] 在指定偏移处开始的键处覆盖字符串的一部分
11 STRLEN key 获取存储在键中的值的长度
12 MSET key value [key value …] 为多个键分别设置它们的值
13 MSETNX key value [key value …] 为多个键分别设置它们的值,仅当键不存在时
14 PSETEX key milliseconds value 设置键的值和到期时间(以毫秒为单位)
15 INCR key 将键的整数值增加1
16 INCRBY key increment 将键的整数值按给定的数值增加
17 INCRBYFLOAT key increment 将键的浮点值按给定的数值增加
18 DECR key 将键的整数值减1
19 DECRBY key decrement 按给定数值减少键的整数值
20 APPEND key value 将指定值附加到键

Redis 数据结构-哈希(hash)

Redis Hashes 是字符串字段和字符串值之间的映射(类似于PHP中的数组类型)。 因此,它们是表示对象的完美数据类型。

在Redis中,每个哈希(散列)可以存储多达4亿个键-值对。

Redis哈希命令

下表列出了与哈希/散列相关的一些基本命令。

序号 命令 说明
1 HDEL key field2 [field2] 删除一个或多个哈希字段。
2 HEXISTS key field 判断是否存在散列字段。
3 HGET key field 获取存储在指定键的哈希字段的值。
4 HGETALL key 获取存储在指定键的哈希中的所有字段和值
5 HINCRBY key field increment 将哈希字段的整数值按给定数字增加
6 HINCRBYFLOAT key field increment 将哈希字段的浮点值按给定数值增加
7 HKEYS key 获取哈希中的所有字段
8 HLEN key 获取散列中的字段数量
9 HMGET key field1 [field2] 获取所有给定哈希字段的值
10 HMSET key field1 value1 [field2 value2 ] 为多个哈希字段分别设置它们的值
11 HSET key field value 设置散列字段的字符串值
12 HSETNX key field value 仅当字段不存在时,才设置散列字段的值
13 HVALS key

Redis 数据结构-列表(list)

Redis 列表只是字符串列表,按插入顺序排序。可以在列表的头部或尾部添加Redis 列表中的元素。

列表的最大长度为 2^32 - 1 个元素(即 4294967295 ,每个列表可存储超过40亿个元素)。

Redis列表命令

下表列出了与列表相关的一些基本命令。

序号 命令 说明
1 BLPOP key1 [key2 ] timeout 删除并获取列表中的第一个元素,或阻塞,直到有一个元素可用
2 BRPOP key1 [key2 ] timeout 删除并获取列表中的最后一个元素,或阻塞,直到有一个元素可用
3 BRPOPLPUSH source destination timeout 从列表中弹出值,将其推送到另一个列表并返回它; 或阻塞,直到一个可用
4 LINDEX key index] 通过其索引从列表获取元素
5 LINSERT key BEFORE/AFTER pivot value 在列表中的另一个元素之前或之后插入元素
6 LLEN key 获取列表的长度
7 LPOP key 删除并获取列表中的第一个元素
8 LPUSH key value1 [value2] 将一个或多个值添加到列表
9 LPUSHX key value] 仅当列表存在时,才向列表添加值
10 LRANGE key start stop 从列表中获取一系列元素
11 LREM key count value 从列表中删除元素
12 LSET key index value 通过索引在列表中设置元素的值
13 LTRIM key start stop 修剪列表的指定范围
14 RPOP key 删除并获取列表中的最后一个元素
15 RPOPLPUSH source destination 删除列表中的最后一个元素,将其附加到另一个列表并返回
16 RPUSH key value1 [value2] 将一个或多个值附加到列表
17 RPUSHX key value 仅当列表存在时才将值附加到列表

Redis 数据结构-集合(set)

Redis 集合是唯一字符串的无序集合。 唯一值表示集合中不允许键中有重复的数据。

Redis 中设置添加,删除和测试成员的存在(恒定时间O(1),而不考虑集合中包含的元素数量)。列表的最大长度为 2^32 - 1 个元素(即4294967295,每组集合超过40亿个元素)。

Redis集合命令

下表列出了与集合相关的一些基本命令。

序号 命令 说明
1 SADD key member1 [member2] 将一个或多个成员添加到集合
2 SCARD key 获取集合中的成员数
3 SDIFF key1 [key2] 减去多个集合
4 SDIFFSTORE destination key1 [key2] 减去多个集并将结果集存储在键中
5 SINTER key1 [key2] 相交多个集合
6 SINTERSTORE destination key1 [key2] 交叉多个集合并将结果集存储在键中
7 SISMEMBER key member 判断确定给定值是否是集合的成员
8 SMOVE source destination member 将成员从一个集合移动到另一个集合
9 SPOP key 从集合中删除并返回随机成员
10 SRANDMEMBER key [count] 从集合中获取一个或多个随机成员
11 SREM key member1 [member2] 从集合中删除一个或多个成员
12 SUNION key1 [key2] 添加多个集合
13 SUNIONSTORE destination key1 [key2] 添加多个集并将结果集存储在键中
14 SSCAN key cursor [MATCH pattern] [COUNT count] 递增地迭代集合中的元素

Redis 事务(transaction)

Redis 事务允许在单个步骤中执行一组命令。以下是事务的两个属性:

  • 事务中的所有命令作为单个隔离操作并按顺序执行。不可以在执行 Redis 事务的中间向另一个客户端发出的请求。
  • Redis 事务也是原子的。原子意味着要么处理所有命令,要么都不处理。

语法示例

Redis 事务由命令 MULTI 命令启动,然后需要传递一个应该在事务中执行的命令列表,然后整个事务由 EXEC 命令执行。

MULTI
List of commands here
EXEC

Redis事务命令

下表列出了与 Redis 事务相关的一些基本命令。

序号 命令 说明
1 DISCARD 丢弃在MULTI之后发出的所有命令
2 EXEC 执行MULTI后发出的所有命令
3 MULTI 标记事务块的开始
4 UNWATCH 取消 WATCH 命令对所有 key 的监视。
5 WATCH key [key …] 监视给定的键以确定MULTI / EXEC块的执行

Redis 脚本

Redis 脚本用于使用 Lua解释器 来执行脚本。从 Redis 2.6.0 版开始内置到Redis 中。使用脚本的命令是 EVAL 命令。

语法

以下是 EVAL 命令的基本语法。

EVAL script numkeys key [key ...] arg [arg ...]

Redis事务命令

下表列出了与Redis脚本相关的一些基本命令。

序号 命令 说明
1 EVAL script numkeys key [key …] arg [arg …] 执行一个Lua脚本。
2 EVALSHA sha1 numkeys key [key …] arg [arg …] 执行一个Lua脚本。
3 SCRIPT EXISTS script [script …] 检查脚本缓存中是否存在脚本。
4 SCRIPT FLUSH 从脚本缓存中删除所有脚本。
5 SCRIPT KILL 杀死当前正在执行的脚本。
6 SCRIPT LOAD script 将指定的Lua脚本加载到脚本缓存中。

Redis 配置(redis.conf)

Redis 中,在 Redis 的根目录下有一个配置文件( redis.conf )。当然您可以通过 Redis CONFIG 命令获取和设置所有的 Redis 配置。

语法 以下是 Redis 中的 CONFIG 命令的基本语法。

CONFIG GET CONFIG_SETTING_NAME

要获取所有配置设置,请使用*代替CONFIG_SETTING_NAME

编辑配置

要更新配置,可以直接编辑 redis.conf 文件,也可以通过 CONFIG set 命令更新配置。

语法 以下是 CONFIG SET 命令的基本语法。

CONFIG SET CONFIG_SETTING_NAME NEW_CONFIG_VALUE

Redis 发送订阅(pub sub)

Redis 发布订阅( pub/sub )是一种消息通信模式:发送者( pub)发送消息,订阅者( sub )接收消息。 Redis 发布订阅( pub/sub )实现了消息系统,发送者(在 redis 术语中称为发布者)在接收者(订阅者)接收消息时发送消息。传送消息的链路称为信道。

Redis 中,客户端可以订阅任意数量的信道。

Redis发布订阅命令

下表列出了与 Redis 发布订阅相关的一些基本命令。

序号 命令 说明
1 PSUBSCRIBE pattern [pattern …] 订阅一个或多个符合给定模式的频道。
2 PUBSUB subcommand [argument [argument …] 查看订阅与发布系统状态。
3 PUBLISH channel message 将信息发送到指定的频道。
4 PUNSUBSCRIBE [pattern [pattern …] 退订所有给定模式的频道。
5 SUBSCRIBE channel [channel …] 订阅给定的一个或多个频道的信息。
6 UNSUBSCRIBE [channel [channel …] 退订给定的频道。

Redis 基准测试(benchmark)

Redis 基准测试是通过同时运行 n 个命令来检查 Redis 的性能的实用程序。

语法

以下是基准测试命令的基本语法。

redis-benchmark [option] [option value]

以下是Redis基准测试中可用选项的列表。

序号 选项 说明 默认值
1 -h 指定服务器主机名 127.0.0.1
2 -p 指定服务器端口 6379
3 -s 指定服务器套接字
4 -c 指定并行连接的数量 50
5 -n 指定请求的总数 10000
6 -d 指定SET/GET值的数据大小(以字节为单位) 2
7 -k 1=keep alive, 0=reconnect 1
8 -r 使用SET/GET/INCR的随机键,SADD的随机值
9 -p 管道*[Math Processing Error]*请求 1
10 -h 指定服务器主机名
11 -q 强制让Redis安装。 只显示query/sec
12 --csv 以CSV格式输出
13 -l 生成循环,永久运行测试
14 -t 只运行逗号分隔的测试列表
15 -I 空闲模式。 只打开N个空闲连接并等待

示例1

以下示例通过调用100000个命令检查Redis。

redis-benchmark -n 100000

示例2

下面的示例显示了Redis基准实用程序中多个选项的使用。

redis-benchmark -h IP -p PORD -a PASSWORK -t set,lpush -n 100000 -q
redis-benchmark -h IP -p PORD -a PASSWORK -n 100000 -c 1000 -d 1024 -l

【Redis】详细基础命令 - 学习笔记相关推荐

  1. 【Redis数据库】命令学习笔记——发布订阅、事务、脚本、连接等命令汇总

    本篇基于redis 4.0.11版本,学习发布订阅.事务.脚本.连接的相关命令. Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息. 序号 ...

  2. linux基础命令学习笔记(二)

    linux基础命令学习笔记(二) 1.kill :终止进程  kill pid (唯一标示一个进程) kill -9  强制终止  kill -15 命令未结束不能终止 # ps aux 查看所有进程 ...

  3. mysql基础命令学习笔记

    这里不会涉及一些mysql数据库安装之类的知识,但是会将自己学习以及使用mysql一些最常用的mysql语句总结到本篇文章,作为自己的学习记录和笔记.基本的环境为CentOS 6.5 数据库为mysq ...

  4. linux基础命令学习笔记

    友情提示:linux的在线查询man很强大,任何命令和参数都可以查到,是全英文的,刚开始不太习惯,看久了就习惯了! 1.RedHat和FedoraCore的软件包是rpm格式的,而Debian和Ubu ...

  5. linux账户密码 群组放在,linux基础命令学习(四)用户与群组

    一.linux用户账号的管理 linux用户账号的管理主要包括用户添加.用户删除.用户修改. 添加用户账号就是在系统创建一个新账号,然后为新账号分为用户号.用户组.主目录和登录Shell等资源. 刚添 ...

  6. Redis运维和开发学习笔记(6) 监控Redis工作状态-info命令

    Redis运维和开发学习笔记(6) 监控Redis工作状态-info命令 文章目录 Redis运维和开发学习笔记(6) 监控Redis工作状态-info命令 info server info clie ...

  7. 网络存储 linux 访问,Linux基础教程学习笔记28——使用Samba访问网络存储

    Linux基础教程学习笔记28--使用Samba访问网络存储 SMB用于Windows和类Linux系统直接的文件共享 安装samba client包: [root@linuxidc~]# yum i ...

  8. K8s基础知识学习笔记及部分源码剖析

    K8s基础知识学习笔记及部分源码剖析 在学习b站黑马k8s视频资料的基础上,查阅了配套基础知识笔记和源码剖析,仅作个人学习和回顾使用. 参考资料: 概念 | Kubernetes 四层.七层负载均衡的 ...

  9. 厚基础Linux——学习笔记(一)

    厚基础Linux--学习笔记(一) 命令清单 本期命令 history 问题一:命令执行记录需要详细的执行时间 问题二:某些命令带有隐私信息,不希望被记录下来 history -c history - ...

最新文章

  1. 信息处理进入了计算机领域,信 息 处 理 进 入 了 计 算 机 领 域 ,实 质 是 进 入 了()的 领 域 。...
  2. AngularJS——第3章 指令
  3. UI控件问题和XCode编译警告和错误解决方法集锦 (持续更新ing)
  4. 完全删除垃圾Q+!!!
  5. C#中实现命令行交互输入输出
  6. android 使用浏览器打开指定页面
  7. 怎样在Redis通过StackExchange.Redis 存储集合类型List
  8. linux下安装wls1036_generic.jar,weblogic 安装
  9. LeetCode Week 4:第 31 ~ 40 题
  10. 基于主成分分析的贵州省综合经济实力
  11. 二元序列游程编码c语言,基于游程编码数据压缩算法设计与实现.doc
  12. 目前主流的电脑操作系统
  13. 一文了解RoaringBitmap
  14. channel.QueueDeclare各个参数详解
  15. 外星人入侵游戏(Python3)
  16. 给自己分一个 MAC地址--locally administered address
  17. 6iypl8php,无线超方便 YPL TL-1/TL-3蓝牙音箱新品上市
  18. 【Learncpp中文翻译版】【1.9、1.10、1.11】
  19. VIVO手机测试指令代码大全
  20. 5G新型网络架构和5G新型网络架构关键技术

热门文章

  1. u盘安装linux双系统6,用U盘安装Centos6.5 + Win7 双系统
  2. java web nodejs_我的2013--从java web到nodejs
  3. python ip代理池_python实现ip代理池功能示例
  4. 深度学习100例 | 第33天:迁移学习-实战案例教程
  5. 深度学习100例-卷积神经网络(LeNet-5)深度学习里的“Hello Word” | 第22天
  6. 【Mysql】_1在centos7虚拟机上完成Mysql环境部署
  7. Python编程基础:第十四节 列表Lists
  8. 阿里云计算平台招AI解决方案产品经理
  9. 【机器学习PAI实践一】搭建心脏病预测案例
  10. Java 编程语言中很少被人了解的特性-statement label