redis系统管理

1.适合全体类型的常用命令
启动redis服务和redis-cli命令界面继续后续实验:

$ sudo service redis-server start
$ redis-cli

1.1EXISTS and DEL
EXISTS key 判断一个key是否存在;存在返回 1;否则返回0; DEL key 删除某个key,或是一系列key;DEL key1 key2 key3 key4。成功返回1,失败返回0(key值不存在)。

> set mykey hello

> exists mykey

> del mykey

> exists mykey

在这里插入图片描述

1.2.TYPE and KEYS
TYPE key:返回某个key元素的数据类型 ( none:不存在,string:字符,list,set,zset,hash),key不存在返回空。 KEYS key—pattern :返回匹配的key列表 (KEYS foo*:查找foo开头的keys)
在这里插入图片描述
1.3.RANDOMKEY and CLEAR
RANDOMKEY : 随机获得一个已经存在的key,如果当前数据库为空,则返回空字符串

> randomkey

CLEAR :清除界面。

1.4.RENAME and RENAMENX
RENAME oldname newname:改key的名字,新键如果存在将被覆盖 RENAMENX oldname newname:更改key的名字,如果newname存在,则更新失败;

笔者randomkey结果为mylist,将此key值更名为newlist。

> randomkey

> rename mylist newlist

> exists mylist

> exists newlist

1.5.DBSIZE
DBSIZE :返回当前数据库的key的总数

> dbsize

在这里插入图片描述

2.Redis 时间相关命令
2.1限定key生存时间
这同样是一个无视数据类型的命令,对于临时存储很有用处。避免进行大量的DEL操作。

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

> set key some-value

> expire key 10

> get key       (马上执行此命令)

> get key       (10s后执行此命令)

在这里插入图片描述

结果显示,执行EXPIRE命令后,马上GET,显示key存在。10秒后再GET时,key 已经被自动删除

2.2查询key剩余生存时间
限时操作可以再SET命令中实现,并且可用TTL命令查询key剩余生存时间。 TTL:查找某个key还有多长时间过期,返回时间秒

> set key 100 ex 30

> ttl key

> ttl key

在这里插入图片描述

2.3清除key
FLUSHDB:清空当前数据库中的所有键

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

>flushdb

>flushall

3.Redis设置相关命令
Redis有其配置文件,可以通过client-command窗口查看或者更改相关配置。下面介绍相关命令。

(1)CONFIG GET and CONFIG SET
CONFIG GET:用来读取运行Redis服务器的配置参数。 CONFIG SET:用于更改运行Redis服务器的配置参数。 AUTH : 认证密码 下面针对Redis密码的示例:

> config get requirepass (查看密码)

> config set requirepass test123 (设置密码为test123 )

> config get requirepass  (报错,没有认证)

> auth test123

> config get requirepass

在这里插入图片描述

由结果可知,刚开始时Reids并未设置密码,密码查询结果为空。然后设置密码为test123,再次查询报错。经过auth命令认证后,可正常查询。

可以经过修改Redis的配置文件redis.conf修改密码。

CONFIG GET命令是以list的key-value对显示的,如查询数据类型的最大条目:

> config get *max-*-entries* 

在这里插入图片描述
重置报告
CONFIG RESETSTAT:重置数据统计报告,通常返回值为’OK"。

> CONFIG RESETSTAT

4.查询信息

INFO [section] :查询Redis相关信息。 INFO命令可以查询Redis几乎所有的信息,其命令选项有如下:

server: Redis server的常规信息
clients: Client的连接选项
memory: 存储占用相关信息
persistence: RDB and AOF 相关信息
stats: 常规统计
replication: Master/slave请求信息
cpu: CPU 占用信息统计
cluster: Redis 集群信息
keyspace: 数据库信息统计
all: 返回所有信息
default: 返回常规设置信息
若命令参数为空,info命令返回所有信息。

> info keyspace

> info server

在这里插入图片描述

一、CacheCloud是做什么的CacheCloud提供一个Redis云管理平台:实现多种类型(Redis Standalone、Redis Sentinel、Redis Cluster)自动部署、解决Redis实例碎片化现象、提供完善统计、监控、运维功能、减少开发人员的运维成本和误操作,提高机器的利用率,提供灵活的伸缩性,提供方便的接入客户端。二、CacheCloud提供哪些功能监控统计:  提供了机器、应用、实例下各个维度数据的监控和统计界面。一键开启:  Redis Standalone、Redis Sentinel、Redis Cluster三种类型的应用,无需手动配置初始化。Failover:  支持哨兵,集群的高可用模式。伸缩:        提供完善的垂直和水平在线伸缩功能。完善运维:    提供自动运维和简化运维操作功能,避免纯手工运维出错。方便的客户端:方便快捷的客户端接入。元数据管理:    提供机器、应用、实例、用户信息管理。流程化:      提供申请,运维,伸缩,修改等完善的处理流程三、CacheCloud解决什么问题1.部署成本       Redis多机(Redis-Sentinel, Redis-Cluster)部署和配置相对比较复杂,较容易出错。例如:100个redis数据节点组成的redis-cluster集群,如果单纯手工安装,既耗时又容易出错。2.实例碎片化       作为一个Redis管理员(可以看做redis DBA)需要帮助开发者管理上百个Redis-Cluster集群,分布在数百台机器上,人工维护成本很高,需要自动化运维工具。3. 监控、统计和管理不完善       一些开源的Redis监控和管理工具,例如:RedisLive(Python)、Redis Commander(Node.js),Redmon(Ruby)无论从功能的全面性(例如配置管理,支持Redis-Cluster等等)、扩展性很难 满足需求。4. 运维成本       Redis的使用者需要维护各自的Redis,但是用户可能更加善于使用Redis实现各种功能,但是没有足够的精力和经验维护RedisRedis的开发人员如同使用Mysql一样,不需要运维Mysql服务器,同样使用Redis服务,不要自己运维RedisRedis由一些在Redis运维方面更有经验的人来维护(保证高可用,高扩展性),使得开发者更加关注于Redis使用本身。5. 伸缩性       本产品支持Redis最新的Redis-Sentinel、Redis-Cluster集群机构,既满足Redis高可用性、又能满足Redis的可扩展性,具有较强的容量和性能伸缩能力。6. 经济成本       机器利用率低,各个项目组的Redis较为分散的部署在各自服务器上,造成了大量闲置资源没有有效利用。7. 版本不统一       各个项目的Redis使用各种不同的版本,不便于管理和交互。四、CacheCloud提供的价值规模化自动运维: 降低运维成本,降低人为操作出错率。自由伸缩:      提供灵活的伸缩性,应用扩容/收缩成本降低,机器资源得到重复利用。团队提升,开源贡献:提升云产品开发设计经验,自己作为开发者和使用者,Eating your own dog food。五、CacheCloud在搜狐的规模每天100 亿次命令调用2T 的内存空间800 个Redis实例100 台机器六、CacheCloud环境需求Java 7Maven 3MySQLRedis 3七、CacheCloud快速开始1、初始化数据库       导入项目中cachecloud.sql初始化库表结构。默认插入admin超级管理员2、CacheCloud项目配置       使用了maven作为项目构建的工具,提供了 local.properties和online.properties两套配置作为测试、线上的隔离。 属性配置说明:属性名说明示例cachecloud.db.urlmysql驱动urljdbc:mysql://127.0.0.1:3306/cache-cloudcachecloud.db.usermysql用户名admincachecloud.db.passwordmysql密码admincachecloud.machine.username服务器用户名,用于ssh${your machine username}cachecloud.machine.password服务器密码,用于ssh${your machine password}web.portspring-boot内嵌tomcat启动端口80803、启动cachecloud系统    mvn spring-boot:run1. 构建:mvn -Ponline clean package2. 上传war包到特定目录下:如/opt/cachecloud-web3: 拷贝项目中的cachecloud-web.conf配置到/opt/cachecloud-web目录下,注意必须跟war包同目录才生效4. 作为linux服务启动:sudo ln -s /opt/cachecloud-web/cachecloud-web-1.0-SNAPSHOT.war /etc/init.d/cachecloud-web  /etc/init.d/cachecloud-web start(9999是tomcat的端口号,具体要参考第三节中的online.properties和local.properties中的web.port4、添加机器(1). 运行脚本:cachecloud项目中的cachecloud-init.sh脚本是用来初始化服务器的cachecloud环境,主要工作如下:(a). 创建cachecloud项目用户:因为cachecloud项目的部分功能(redis启动、服务器监控)是通过ssh完成的,所以这里的用户和密码要和项目中的相对应,具体详见第三节。(b). 创建cachecloud项目的工作目录、数据目录、配置目录、日志目录、redis安装目录、临时目录等等。(/opt/cachecloud/data、/opt/cachecloud/conf、/opt/cachecloud/logs、/opt/cachecloud/redis、/tmp/cachecloud)(c). 安装最新的release版本的Redis(2). 脚本执行(a). 使用root登录目标服务器。(b). 将cachecloud-init.sh脚本拷贝到目标服务器当前用户目录下。(c). 执行 sh cachecloud-init.sh ${yourusername}(d). 两次确认密码(e). 一路安装直到成功。(3). 建议和警告(a). 请在root用户下执行初始化脚本,因为初始化脚本涉及到了用户的创建等较高的权限。(b). 出于安全的考虑,所选的机器最好不要有外网IP地址。(c). 用户名和密码最好不要用cachecloud, 密码尽可能复杂。(d). 机器的ssh端口最好是22。(e). 请确保/opt/有足够的硬盘空间,因为/opt/cachecloud/data要存储RDB和AOF的持久化文件,如果硬盘过小,会造成持久化失败。 (如果硬盘确实很小,建议建立一个软链接到/opt/cachecloud/data,且保证软链接的目录也是username用户,一定要保证/opt /cachecloud的目录结构)(f). 脚本中目前使用的是redis-3.0.6,如有需要请自行替换,建议使用3.0 release以后的版本。(4). 添加机器进入管理员界面(http://ip:port/manage/total/list),进入机器管理,点击添加机器,添加机器信息是开通应用的基础。 标签:CacheCloud  redis
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值