Redis之(三)管理命令
4.1键管理
通过学习五种数据类型的操作命令,可以发现,Redis对每种数据的处理之前,都要先指定该数据的key,然后再指定对该数据进行何种操作。
Redis中的key有点类似于Java中的变量名,起到提纲挈领的作用,对某个数据的处理都是以key作为切入点。所以Redis把key作为单独的处理对象抽象出了一套操作命令。key可以想象成一个指向实际数据的指针,对key的操作会直接影响它所指向的数据的状态。
比如,我们想删除某个数据,就可以通过删除它的key来达到目的:
127.0.0.1:6379> SET name chenlongfei
OK
127.0.0.1:6379> GET name
"chenlongfei"
127.0.0.1:6379> DEL name
(integer) 1
127.0.0.1:6379> GET name
(nil)
想要查看某个数据的类型:
127.0.0.1:6379> SADD direction east west south north
(integer) 4
127.0.0.1:6379> TYPE direction
set
想要更改某个数据的key的名字:
127.0.0.1:6379> RENAME direction direct
OK
127.0.0.1:6379> SMEMBERS direct
1) "north"
2) "west"
3) "south"
4) "east"
命令格式
说明
DEL key [key ...]
此命令删除键,如果存在
EXISTS key
此命令检查该键是否存在
EXPIRE key seconds
指定键的过期时间(秒)
PEXPIRE key milliseconds
指定键的过期时间(毫秒)
EXPIREAT key timestamp
以Unix时间戳格式(秒)指定键的过期时间
PEXPIREAT key milliseconds-timestamp
以Unix时间戳格式(毫秒)指定键的过期时间
KEYS pattern
查找与指定模式匹配的所有键。pattern支持glob-style的通配符格式,如*表示任意一个或多个字符,?表示任意字符,[abc]表示方括号中任意一个字母
RENAME key newkey
更改键的名称
RENAMENX key newkey
重命名键,如果新的键不存在
TYPE key
返回存储在键的数据类型的值
RANDOMKEY
从Redis返回随机键的名字
PERSIST key
如果Key存在过期时间,该命令会将其过期时间消除,使该Key不再有超时,而是可以持久化存储
TTL key
(Time To Live)返回该键的剩余存活时间(秒),如果该键不存在或没有超时设置,则返回-1
PTTL key
返回该键的剩余存活时间(毫秒)
4.2发布订阅管理
发布订阅(pub/sub)是一种消息通信模式,主要的目的是解耦消息发布者和消息订阅者之间的耦合,这点和设计模式中的观察者模式比较相似。
Redis作为一个server,在订阅者和发布者之间起到了消息路由的功能。订阅者可以通过subscribe和psubscribe命令向Redis server订阅自己感兴趣的消息类型,Redis将消息类型称为通道(channel)。当发布者通过publish命令向Redis server发送特定类型的消息时。订阅该消息类型的全部client都会收到此消息。这里消息的传递是多对多的。一个client可以订阅多个 channel,也可以向多个channel发送消息。
例如,一个客户端订阅了“CCTV-5”频道的消息:
127.0.0.1:6379> SUBSCRIBE CCTV-5
Reading messages... (press Ctrl-C to quit)
1) "subscribe"
2) "CCTV-5"
3) (integer) 1
另一个客户端在“CCTV-5”发布了两条消息:
127.0.0.1:6379> PUBLISH CCTV-5 "Kobe will say good bye to NBA in 2016.4.4"
(integer) 1
127.0.0.1:6379>PUBLISH CCTV-5 "Cavaliers Cleveland won the championship"
(integer) 1
第一个客户端就会收到这两条消息:
127.0.0.1:6379> SUBSCRIBE CCTV-5
Reading messages... (press Ctrl-C to quit)
1) "subscribe"
2) "CCTV-5"
3) (integer) 1
1)"message"
2)"CCTV-5"
3)"Kobe will say good bye to NBA in 2016.4.4"
1)"message"
2)"CCTV-5"
3) "CavaliersCleveland won the championship"
命令格式
说明
PUBLISH channel message
将消息message发布到频道channel
SUBSCRIBE channel [channel ...]
订阅一个或多个频道上的消息
UNSUBSCRIBE [channel [channel ...]]
退订频道上的消息
PSUBSCRIBE pattern [pattern ...]
(Pattern Subscribe)以模式匹配的方式订阅多个频道
PUNSUBSCRIBE [pattern [pattern ...]]
以模式匹配的方式退订频道消息
PUBSUB subcommand [argument [argument ...]]
查看活动的频道信息。比如“PUBSUB channels”,会列出所有活动的频道名称,所谓“活动的”,是指至少有一个订阅者的频道
4.3 连接管理
默认情况下,Redis没有密码要求,意味着无需通过密码验证就可以连接到Redis 服务。
可以通过更改配置文件中的“requirepass”配置项,来设置密码。
winner@winnerdeMacBook-Pro:~$ Redis-cli
127.0.0.1:6379> CONFIG get requirepass
1) "requirepass"
2) "" --默认没有密码
127.0.0.1:6379> CONFIG set requirepass"chenlongfei" --设置密码
OK
127.0.0.1:6379> QUIT --退出重新连接
winner@winnerdeMacBook-Pro:~$ Redis-cli
127.0.0.1:6379> SET name "clf"
(error) NOAUTH Authentication required. –提示没权限
127.0.0.1:6379> AUTH chenlongfei --验证密码
OK
127.0.0.1:6379> SET name "clf" --之后才能进行操作
OK
127.0.0.1:6379> GET name
"clf"
命令格式
说明
AUTH password
验证密码
ECHO message
打印字符串
PING
检验连接状况,正常情况下服务器会返回“PONG”。
QUIT
关闭当前连接
SELECT index
切换到指定的数据库,数据库索引号 index 用数字值指定,以 0 作为起始索引值。默认使用 0 号数据库。
4.4 服务器管理
Redis定义了一组与服务器相关的命令,用于查询服务器信息,如当前时间、客户端连接数量,以及修改配置文件、手动触发某些操作等。
命令格式
说明
INFO
打印服务器的详细信息
CONFIG GETname
获取配置项name的内容
CONFIG SETname value
将配置项name的值设为value,无需重启
BGSAVE
在后台异步保存当前数据库的数据到磁盘。BGSAVE 命令执行之后立即返回 OK ,然后 Redis fork 出一个新子进程,原来的 Redis 进程(父进程)继续处理客户端请求,而子进程则负责将数据保存到磁盘,然后退出。
SAVE
SAVE 命令执行一个同步操作,以RDB文件的方式保存所有数据的快照。很少在生产环境直接使用SAVE 命令,因为它会阻塞所有的客户端的请求,可以使用BGSAVE 命令代替
FLUSHALL
删除所有数据库的所有key
FLUSHDB
删除当前数据库的所有key
SHUTDOWN [NOSAVE] [SAVE]
停止所有客户端,如果配置了save 策略 则执行一个阻塞的save命令,如果开启了AOF,则刷新aof文件,关闭Redis服务进程(Redis-server)。
如果配置了持久化策略,那么这个命令将能够保证在关闭Redis服务进程的时候数据不会丢失。如果仅仅在客户端执行SAVE 命令,然后 执行QUIT 命令,那么数据的完整性将不会被保证,因为其他客户端可能在执行这两个命令的期间修改数据库的数据。
Redis之(三)管理命令的更多相关文章
- 第四章· Redis的事务、锁及管理命令
一.事务介绍 二.Redis乐观锁介绍 三.Redis管理命令 一.事务介绍 Redis的事务与关系型数据库中的事务区别 1)在MySQL中讲过的事务,具有A.C.I.D四个特性 Atomic(原子性 ...
- Redis学习笔记(三)redis 的键管理
Redis 的键管理 一.Redis 数据库管理 Redis 是一个键值对(key-value pair)的数据库服务器,其数据保存在 src/server.h/redisDb 中(网上很多帖子说在 ...
- Linux命令(三)——用户、群组管理命令
一.用户和群组的配置文件 1./etc/passwd文件 该文件存储了所有用户的一些基本属性. /etc/passwd文件中所存信息的具体含义如下: 用户名:x表示必须使用密码登录:uid用户标识符: ...
- Redis集群管理
1.简介 Redis在生产环境中一般是通过集群的方式进行运行,Redis集群包括主从复制集群和数据分片集群两种类型. *主从复制集群提供高可用性,而数据分片集群提供负载均衡. *数据分片集群中能实现主 ...
- Redis开发、管理实战
一.数据类型 String : 字符类型 Hash: 字典类型 List: 列表 Set: 集合 Sorted set: 有序集合 二.全局Key操作 KEYS * 查看KEY支持通配符 DEL 删除 ...
- Centos7.2下安装redis&通用键值命令
Centos7.2下安装redis&通用键值命令 Centos7.2下安装redis 官方网站:https://redis.io/ 1.进入/usr/local/src/目录 cd /usr/ ...
- Redis(三)Redis附加功能
一.慢查询分析 许多存储系统(例如MySql)提供慢查询日志帮助开发和运维人员定位系统存在的慢操作. 所谓慢查询日志就是系统在命令执行前后计算每条命令的执行时间,当超过预设阈值,就将这条命令的相关信息 ...
- redis入门(三)
目录 redis入门(三) 目录 前言 事务 原理 Lua脚本 安装 脚本命令 集群搭建工具 redis-trib.rb redis官方集群搭建 集群横向扩展 故障转移 redis管理 参考文档 re ...
- Redis开发及管理实战
目录 Redis数据类型 字符串 String string类型操作 字典 Hash 列表 List 集合 Set 有序集合 SortedSet 生产消费模型 Redis事务管理 事务命令 示例 Re ...
- 一文掌握Redis的三种集群方案
在开发测试环境中,我们一般搭建Redis的单实例来应对开发测试需求,但是在生产环境,如果对可用性.可靠性要求较高,则需要引入Redis的集群方案.虽然现在各大云平台有提供缓存服务可以直接使用,但了解一 ...
随机推荐
- linux(centos)常用命令
原文:https://blog.csdn.net/zhangzhikaixinya/article/details/44538571 1.查看当前所在路径:pwd 2.新建文件夹www:mkdir w ...
- jQuery系列 第八章 jQuery框架Ajax模块
第八章 jQuery框架Ajax模块 8.1 jQuery框架中的Ajax简介 Ajax技术的核心是XMLHTTPRequest对象,该对象是Ajax实现的关键,发送异步请求.接收服务器端的响应以及执 ...
- mysql优化2:列类型选择原则
1.字段类型优先级 整型>date,time>enum,char>varchar>blog,text 列的特点分析: 整型:定长,没有国家/地区之分,没有字符集的差异 比如ti ...
- [LeetCode] Out of Boundary Paths 出界的路径
There is an m by n grid with a ball. Given the start coordinate (i,j) of the ball, you can move the ...
- css中单位px,em,rem和vh/vw的理解
>px像素(Pixel).相对长度单位.像素px是相对于显示器屏幕分辨率而言的. em是相对长度单位.相对于当前对象内文本的字体尺寸.如当前对行内文本的字体尺寸未被人为设置,则相对于浏览器的默认 ...
- 推荐一个c++小巧开源且跨平台的图像解码库
该图像解码库仅仅三个文件. 图像处理封装: spot.cpp spot.h 解码库实现: spot.c 支持图片文件格式如下: File format Read Write BMP files yes ...
- BZOJ 4260 Codechef REBXOR
Description Input 输入数据的第一行包含一个整数N,表示数组中的元素个数. 第二行包含N个整数A1,A2,…,AN. Output 输出一行包含给定表达式可能的最大值. Sample ...
- ●BZOJ 1076 [SCOI2008]奖励关
题链: http://www.lydsy.com/JudgeOnline/problem.php?id=1076题解: 期望dp. (模糊的题意,2333) 题中的:"现在决定不吃的宝物以后 ...
- 2015 多校联赛 ——HDU5303(贪心)
Delicious Apples Time Limit: 5000/3000 MS (Java/Others) Memory Limit: 524288/524288 K (Java/Other ...
- [BZOJ]2194: 快速傅立叶之二
题目大意:给定序列a,b,求序列c满足c[k]=sigma(a[i]*b[i-k]) (k<=i<n).(n<=10^5) 思路:观察发现就是普通的卷积反一反(翻转ab其中一个后做卷 ...