实验环境:
六台Reids服务器,一台客户端测试机
监听端口6379
Reids安装部署:
安装配置Redis,6台Redis服务器都要进行安装配置,为下面配置群集做准备工作
[root@localhost ~]# tar -zxvf redis-3.2.9.tar.gz -C /usr/src/
[root@localhost ~]# cd /usr/src/redis-3.2.9/
[root@localhost ~]# make
[root@localhost ~]# make install
[root@localhost redis-3.2.9]# cd /usr/src/redis-3.2.9/utils/
[root@localhost utils]# ./install_server.sh
[root@localhost utils]# netstat -tlunp | grep 6379
[root@localhost ~]# vim /etc/redis/6379.conf
bind 127.0.0.1 #监听的主机地址
port 6379 #服务端口
timeout 0 #指定客户机闲置断开时间
daemonize yes #启用守护进程
pidfile /var/run/redis_6379.pid #pid文件存放位置
loglevel notice #日志级别
logfile /var/log/redis_6379.log #指定日志文件
rdbchecksum yes #指定存储到本地数据库是否压缩数据
dir /var/lib/redis/6379 #本地数据库存放目录
:wq!
[root@localhost ~]# /etc/init.d/redis_6379 restart
Redis命令工具:
1.redis-server:用于启动Redis的工具
2.redis-benchmark:用于检测Redis在本机的运行效率
3.redis-check-aof:修复AOF持久化文件
4.redis-check-rdb:修复RDB持久化文件
5.redis-cli:Redis命令工具
6.redis-setinel:redis-server文件的软链接
redis-cli):
[root@localhost ~]# redis-cli#连接本地数据库
127.0.0.1:6379> ping #测试Redis是否启动 PONG
[root@localhost ~]# redis-cli -h 192.168.3.2 -p 6379#远程连接192.168.3.2的Redis服务器
-h:指定服务器主机名
-p:指定服务器端口号
-s:指定服务器socket
-c:指定服务器并发连接次数
-n:制定请求次数
-d:以字节(B)的形式指定SET/GET值的数据大小
-k:1=keep alive 0=reconnect
-r:SET/GET/INCR使用随机key,SADD使用随机值
-P:通过管道传输请求
-q:强制退出redis
–csv:以CSV格式输出
-l:生成循环,永久执行
-t:仅运行以逗号分隔的测试命令列表
-I:idle模式
eg:###测试192.168.3.2:6379发送100个并发连接与100000个请求测试性能
[root@localhost ~]# redis-benchmark -h 192.168.3.2 -p 6379 -c 100 -n 100000
Redis常用命令:
127.0.0.1:6379> set (key) (value) #存放数据
127.0.0.1:6379> get (key) #获取数据
127.0.0.1:6379> keys * #查看当前数据库所有的键(key)
127.0.0.1:6379> keys (v)? #查看当前数据库中以v开头后面包含任意一位的数据
127.0.0.1:6379> keys (v)?? #查看当前数据库中以v开头后面包含任意两为的数据
127.0.0.1:6379> exists (key) #判断key值是否存在(1是存在;0是不存在)
127.0.0.1:6379> type (key) #获取对应key值中value值的类型
127.0.0.1:6379> rname (旧key) (新key) #对旧key值重命名
127.0.0.1:6379> rnamenx (旧key) (新key) #判断新key值是否存在如果存在则不进行重命名,如果不存在则进行重命名
127.0.0.1:6379> dbsize #查看当前数据库中key的数目
Redis默认有16个数据库(0-15)
多数据库中的切换:
127.0.0.1:6379> select 10 #切换到序列号为10的数据库
127.0.0.1:6379> move (key) (数据库序列号) #将key值移动到想要移动的数据库
127.0.0.1:6379> FLUSHALL #清除数据库中的所有数据
Redis群集部署:
*至少需要6个节点
*实验环境要关闭firewalld和selinux
*要将redis-3.2.0.gem放入到服务器中
[root@localhost ~]# vim /etc/redis/6379.conf
...
bind 192.168.3.6 ##此处为本机IP地址
cluster-enabled yes
cluster-config-file nodes-6379.conf
:wq!
[root@localhost ~]# /etc/init.d/redis_6379 restart
[root@localhost ~]# yum -y install ruby rubygems
[root@localhost ~]# gem install redis --version 3.2.0
[root@localhost ~]# cd /usr/src/redis-3.2.9/src/
[root@localhost src]# ./redis-trib.rb create --replicas 1 192.168.3.1:6379 192.168.3.2:6379 192.168.3.3:6379 192.168.3.4:6379 192.168.3.5:6379 192.168.3.6:6379
测试群集:
[root@localhost ~]# redis-cli -h 192.168.3.5 -p 6379 -c #“-c”激活群集模式
在里面创建数据到其他节点服务器查看是否同步
文章浏览阅读232次。 After finishing a project on a boost converter, I actually think that there is something I can do better. Let me introduce you to my progress, at the moment to hardware extent by a function gen...
文章浏览阅读3k次。在/system下的build.prop文件里,我们常看见以下语句。ro.ril.hsdpa.category = 10ro.ril.hsupa.category = 6ro.ril.hsxpa = 2ro.ril.enable.amr.wideband=1wifi.supplicant_scan_interval=45dalvik.vm.heapsize=24m _op system/system/build.prop cp: error writing 'system/system/build.prop': no
文章浏览阅读600次。在我们用C/C++开 发的过程中,总是有一个问题会给我们带来苦恼。这个问题就是函数内和函数外代码需要通过一块内存来交互(比如,函数返回字符串),这个问题困扰和很多开发 人员。如果你的内存是在函数内栈上分配的,那么这个内存会随着函数的返回而被弹栈释放,所以,你一定要返回一块函数外部还有效的内存。这 是一个让无数人困扰的问题。如果你一不小心,你就很有可能在这个上面犯错误。当然目前有很多解决_inet_ntoa 释放
文章浏览阅读580次。#include typedef enum _SYSTEM_INFORMATION_CLASS { SystemBasicInformation, SystemProcessorInformation, SystemPerformanceInformation, SystemTimeOfDayInformation, Syst_zwduplicateobject系统进程
文章浏览阅读118次。JVM的垃圾收集器经历了多代的发展,从单线程收集器到多线程收集器。一、背景垃圾回收器经历过多代的发展,从单线程到多线程,垃圾收集器的大家族产品如下,每一个连线表示可以组合使用。接下来大概分为几个阶段详细介绍下各个垃圾回收器的特点:阶段收集器名称区域并行/串行/并发算法优缺点适用场景第一阶段Serial新生代串行复制响应速度快单CPU环境下的Client模式Serial Old老年代串行标志-整理响应速度快单CPU环境下的Client._从整体来看是基于“标记--整理”算法实现的收集器;从局部上来看是基于“复制”
文章浏览阅读1.7w次,点赞19次,收藏92次。一、课时目标1.理解shell的概念2.理解交互式shell和非交互式shell的区别3.掌握反弹shell的原理和方法_反弹shell
文章浏览阅读4.7w次,点赞17次,收藏73次。常用的分析管理工具方法常用的分析管理工具方法二八原则SWOT分析法鱼骨图分析法5M因素分析法5M1E分析法头脑风暴法名义群体法德尔菲法电子会议分析法几种决策方法比较PDCA循环5W1H分析法5W2H分析法5W2H1E法SMART原则任务分解法OGSM计划法_阿波罗根本原因分析
文章浏览阅读502次。操作系统和微机接口技术的课程设计星期三班委才说,下周三就要叫答辩!!!!这几周还要连着期末考试.一点时间都没有!!操作系统的做了,微机接口技术的实在没有.2、掌握运用Matlab软件分析连续时间信号与系统的时域、频域特性;3、通过。二、实验内容1、构建一个包含若干个不同频率分量的周期连续信号(各分量频率自定)f(t),截取该信号的不同长度(注意截取长度应不小于最低频率分量的一个周期).n=0:15..._构建一个包含若干个不同频率分量的周期连续信号(各分量频率自定)f(t),截取该信号
文章浏览阅读6.5k次。Fastjson漏洞修复参考1. 漏洞背景 Fastjson是阿里巴巴的开源JSON解析库,它可以解析JSON格式的字符串,支持将Java Bean序列化为JSON字符串,也可以从JSON字符串反序列化到JavaBean。Fastjson多处补丁修补出现纰漏,Fastjson在1.2.68版本以下,无需Autotype开启,或者可绕过autoType限制,攻击者即可通过精心构造的请求包在使用Fastjson的服务器上进行远程代码执行。受影响的版本:fastjson <=1.2.68fas_fastjson漏洞修复
文章浏览阅读394次,点赞2次,收藏3次。C++ 向量 vector 是一种对象实体, 能够容纳许多其他类型相同的元素, 因此又被称为容器。 与string相同, vector 同属于STL(Standard Template Library, 标准模板库)中的一种自定义的数据类型, 可以广义上认为是数组的增强版。_vector::iterator it = m_vec.begin()
文章浏览阅读195次。Java学习路线&笔记链接????JAVASE数据库mysql(或oracle)JDBCWEB前端HTMLCSSJavaScriptJavaWeb(web后端)ServletJSPweb进阶AJAXjQueryJavaWeb项目实战SSM三大框架(额外可选学SSH)MyBatisSpringSpringMVC互联网分布式JAVASEJava语言的基础,是Java的最基本的库。基础语法加常用类库。数据库mysql(或oracle)数据库是所有程序员都需要学习的,因为不管是C语言,还是C++,_java 学习连
文章浏览阅读358次。 ESD05V56T-2L的参数: 封装:SOT-563 电压:5V 钳位电压:9.8V 容值:3pF 功率:100W ESD05V56T-2L的特性: 1、依据(tp=8/20μs)线路,峰值脉冲功率为100W 2、保护两个I/O线及电源线 3、适合高速接口的低电容 4、工作电压:5V 5、超小型封装要求小于2.9mm2的PCB面积 6、IEEE1394高速火线端口 6、IEC61000-4-2(ESD)±15_esd二极管容值