redis-cli

Redis集群的离线安装以及原理理解

≯℡__Kan透↙ 提交于 2020-04-21 08:21:57
  本文主要是记录一下Redis集群在linux系统下离线的安装步骤,毕竟在生产环境下一般都是无法联网的,Redis的集群的Ruby环境安装过程还是很麻烦的,涉及到很多的依赖的安装,所以写了一个文章来进行记录。本文分为两部分,第一部分先通过原生命令的安装来实现redis集群的部署,通过原生命令的安装对于了解redis集群的实现原理有很大的帮助,第二部分通过官方工具Ruby来进行Redis集群的安装,通过Ruby安装Redis集群的时候主要是搭建好Ruby环境,真正Redis集群的安装配置通过Ruby还是很简单的。    一、通过原生命令安装Redis集群(仅做理解Redis集群原理使用)     1.配置开启所需要的Redis节点           因为这里只是做一个简单的Redis集群原理演示,所以假设此时Redis服务已经安装完毕,在config文件夹下创建六个redis.conf配置文件,分别为redis-7000.conf、redis-7001.conf、redis-7002.conf、redis-7003.conf、redis-7004.conf、redis-7005.conf。其内容如下: port ${port} daemonize yes dir "/opt/redis/redis/data/" dbfilename "dump-${port}.rdb"

Redis-cli --cluster命令说明

依然范特西╮ 提交于 2020-04-20 20:52:23
redis-cli --cluster help Cluster Manager Commands: create host1:port1 ... hostN:portN #创建集群 --cluster-replicas <arg> #从节点个数 check host:port #检查集群 --cluster-search-multiple-owners #检查是否有槽同时被分配给了多个节点 info host:port #查看集群状态 fix host:port #修复集群 --cluster-search-multiple-owners #修复槽的重复分配问题 reshard host:port #指定集群的任意一节点进行迁移slot,重新分slots --cluster-from <arg> #需要从哪些源节点上迁移slot,可从多个源节点完成迁移,以逗号隔开,传递的是节点的node id,还可以直接传递--from all,这样源节点就是集群的所有节点,不传递该参数的话,则会在迁移过程中提示用户输入 --cluster-to <arg> #slot需要迁移的目的节点的node id,目的节点只能填写一个,不传递该参数的话,则会在迁移过程中提示用户输入 --cluster-slots <arg> #需要迁移的slot数量,不传递该参数的话,则会在迁移过程中提示用户输入。 -

Redis项目实战(一)--redis基础

♀尐吖头ヾ 提交于 2020-04-18 08:34:13
redis(Remote Dictionary Server) 一、原理及特性层面: 1、优势: 1)数据加载在内存中,执行速度快, 数据结构类似于HashMap,HashMap的优势就是查找和操作的时间复杂度都是O(1)。 2)单线程多路复用,I/O多路复用(防止 I/O 阻塞)-- 一种效率更高的 I/O 模型, 在单个线程中通过记录跟踪每一个sock(I/O流) 的状态来管理多个I/O流。(相比多线程效率更高, .跟多线程相比较,线程切换需要切换到内核进行线程切换,需要消耗时间和资源, I/O多路复用不需要切换线/进程) 3)协议简单,客户端和服务端使用 RESP协议(容易实现、快速解析), RESP是二进制安全的而且从一个进程发块数据给另一个进程的时候不需要做转换,因为他会在块数据之前加上长度。 *2 $3 GET $4 name 2、特点及应用: 0)支持lua脚本, 在Redis中,执行Lua语言是原子性,也就是说Redis执行Lua的时候是不会被中断的,具备原子性,这个特性有助于Redis对并发数据一致性的支持。 1)支持事务、 watch,操作命令都是原子的。 Redis 事务: Redis中的事务(transaction)是一组命令的集合。 Redis保证一个事务中的所有命令要么都执行,要么都不执行。如果在发送EXEC命令前客户端断线了,则Redis会清空事务队列

Linux部署Redis及PHP-redis扩展

大城市里の小女人 提交于 2020-04-18 05:13:10
Redis是一个key-value存储系统,属于我们常说的NoSQL。它遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。它常用在缓存、队列、Pub/Sub、计数统计、排行榜、投票与排序等场景。 本文介绍如何在CentOS7上安装redis,以及让PHP支持redis的php-redis扩展库。 安装Redis Redis官方下载地址:http://redis.io/download,下载最新稳定版本。 当前稳定版本是4.0.9,下载并安装: 1 $ wget http: // download.redis.io/releases/redis-4.0.9.tar.gz 2 $ tar -zxvf redis- 4.0 . 9 .tar.gz 3 $ mv redis- 4.0 . 9 /usr/local/ redis 4 $ cd /usr/local/ redis 5 $ make 6 $ make install make完后,在redis-4.0.9目录下会出现编译后的redis服务程序redis-server,还有用于测试的客户端程序redis-cli,两个程序位于安装目录 src 目录下: 启动redis服务 1 $ cd src 2 $ ./redis-server 注意这种方式启动redis 使用的是默认配置

redis内存管理

佐手、 提交于 2020-04-17 08:16:55
【推荐阅读】微服务还能火多久?>>> 目录 一、内存统计 ​ 二、内存划分 ​ 三、内存消耗 四、缓冲内存 普通客户端缓冲区 slave客户端缓冲区 pubsub客户端缓冲区 一、内存统计 可以在 lua中自定义命令。 # Memory used_memory:33805895736 used_memory_human:31.48G used_memory_rss:42316582912 used_memory_rss_human:39.41G used_memory_peak:44346475840 used_memory_peak_human:41.30G total_system_memory:338519248896 total_system_memory_human:315.27G used_memory_lua:37888 used_memory_lua_human:37.00K maxmemory:200000000000 maxmemory_human:186.26G maxmemory_policy:volatile-lru mem_fragmentation_ratio:1.25 mem_allocator:jemalloc-4.0.3 二、内存划分 内存碎片是操作系统分配给的内存和实际使用的内存的差值。 例如 存了一个string类型的key。

利用Docker搭建Redis集群

和自甴很熟 提交于 2020-04-17 01:07:12
【推荐阅读】微服务还能火多久?>>> Redis集群搭建 运行Redis镜像 分别使用以下命令启动3个Redis docker run --name redis-6379 -p 6379:6379 -d hub.c.163.com/library/redis docker run --name redis-6380 -p 6380:6379 -d hub.c.163.com/library/redis docker run --name redis-6381 -p 6381:6379 -d hub.c.163.com/library/redis 使用 docker ps 命令,查看是否启动成功 配置Redis集群 分别使用 dokcer inspect 容器ID 命令,查看3个Redis内网IP地址 在Networks栏,可以看见该容器的Docker内网IP地址。 redis-6379:172.17.0.2:6379 redis-6380:172.17.0.3:6379 redis-6381:172.17.0.4:6379 进入Docker容器内部 使用redis-6379为主机,其余两台为从机 使用 docker exec -ti 容器ID /bin/bash 分别进入三个Redis容器 进入容器后,使用 redis-cli 命令,连接redis服务端 连接服务后,使用 info

使用redis作为消息队列的用法

倖福魔咒の 提交于 2020-04-16 08:03:41
【推荐阅读】微服务还能火多久?>>> 背景 最近项目有个需求需要动态更新规则,当时脑中想到的第一个方案是利用zk的监听机制,管理人员更新完规则将状态写入zk,集群中的机器监听zk的状态,当有状态变更后,集群中的机器开始拉取最新的配置。但由于公司技术选型,没有专门搭建zk集群,因此也不可能为这一个小需求去搭建zk集群。图为使用zk监听状态变化的流程。 最后只好退而求其次,想到了使用redis的队列来做规则的更新 消息队列 首先做简单的引入。 队列(来自百度百科):是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。 消息队列(来自百度百科):是在消息的传输过程中保存消息的容器。 从队列和消息队列的定义看来,看不出什么相似之处。但我理解它们的作用是相似的,只是使用环境不同。队列和消息队列 本质上都可以用于解决“生产者”和“消费者”问题,在二者这间建立桥梁,it中专业术语是对“生产者”和“消费者”进行解耦。可以动态的通过调整“生产者”和“消费者”线程数或服务器实例数,在正常情况使消费和生产到达一个平衡;在高峰情况下(生产者大于消费者)可以保护消费者不被拖垮的同时,还可以对把积压的数据保存下来,消费者可以延迟消费这些数据进行处理。 队列

Redis下载及安装(windows版)

爱⌒轻易说出口 提交于 2020-04-15 10:21:25
【推荐阅读】微服务还能火多久?>>> 下载地址 1、Github下载地址:https://github.com/MicrosoftArchive/redis/releases 2、百度网盘下载地址 https://pan.baidu.com/s/1z1_OdNVbtgyEjiktqgB83g 密码:kdfq 安装过程 1.首先先把下载的压缩包解压到一个文件夹中 2.打开cmd指令窗口 3.输入你刚才解压的文件路径 4.然后输入redis-server redis.windows.conf 命令 接下来部署Redis为windows下的服务 首先关掉上一个窗口再打开一个新的cmd命令窗口 然后输入指令redis-server --service-install redis.windows.conf 随后,进入右击此电脑–管理–服务和应用程序–服务 启动服务 Redis常用的指令 卸载服务:redis-server --service-uninstall 开启服务:redis-server --service-start 停止服务:redis-server --service-stop 测试redis,通过cd到我们解压的目录,输入redis-cli打开客户端,输入指令通过Set get指令查看是否成功 原文链接: https://blog.csdn.net/weixin

01-redis安装

别说谁变了你拦得住时间么 提交于 2020-04-14 00:28:29
【今日推荐】:为什么一到面试就懵逼!>>> 下载、安装 官网 wget http://download.redis.io/releases/redis-5.0.8.tar.gz tar xzf redis-tar xzf redis-5.0.8.tar.gz cd redis-5.0.8 make make(gcc)完后 redis-5.0.8目录下会出现编译后的redis服务程序redis-server 还有用于测试的客户端程序redis-cli 两个程序位于安装目录 src 目录下 启动服务 ./src/redis-server (默认配置) ./src/redis-server ../redis.conf(指定配置文件) 客户端测试 ./src/redis-cli 密码登录 # ./src/redis-cli 127.0.0.1:6379> auth p 127.0.0.1:6379> get 1 (nil) 127.0.0.1:6379> set t 1 OK 127.0.0.1:6379> get t "1" 来源: oschina 链接: https://my.oschina.net/xinyuanKong/blog/3233768

windows上安装redis并配置远程访问

折月煮酒 提交于 2020-04-13 17:05:28
【今日推荐】:为什么一到面试就懵逼!>>> 本篇文章主要是写一下我在配置redis时遇到的坑,安装redis的教程可以查看这篇文章: https://www.cnblogs.com/wuwuyong/p/11697643.html; 1.第一个坑是在删除redis的时候报错: D:\redis\Redis-x64-3.2.100>redis-server.exe --service-uninstall [10968] 10 Apr 15:24:30.473 # HandleServiceCommands: system error caught. error code=1072, message = DeleteService failed: unknown error 这种情况,需要打开任务管理器,选择进程,然后将redis-server的进程结束。然后就可以删除了。 2.配置远程可以访问的时候,首先需要将redis.windows.conf文件里的bind 127.0.0.1的本机注释掉。然后将protected-mode no改为protected-mode yes。 然后打开cmd进入redis安装目录并输入命令:redis-server.exe redis.windows.conf 如果出现下面的错误: [11820] 10 Apr 15:51:33.316 #