Redis非关系型缓存数据库集群部署、参数、命令工具
《关系型数据库与非关系型数据库》
关系数据库:mysql、oracle、DB2、SQL Server
非关系数据库:Redis(缓存数据库)、MongodDB(处理海量数据)、Memcached(缓存数据库)《类型:文档型、key-value型、图形》
《关系型数据库与非关系型数据库主要区别》
1、数据存储方式不同
关系型数据库存储在硬盘中,非关系型数据库存储在缓存中,在读取数据速度方面非关系型数据库相比关系型数据库要快,
2、扩展性不同
关系型数据库存储为表格式很容易横向扩展容易达到扩展瓶颈,而非关系型数据库是基于键值对,一个key对应一个value,数据之间
没有耦合性扩展起来比较方便。
3、事务性不同
传统SQL数据库支持对事务原子性的控制,并且容易回滚,
非关系型数据库也支持事务操作,但稳定性方面没法和关系型数据库比较,因为非关系型数据库价值是在扩展性和大数据量处理方面。
===============================================================================================================
Redis的优点:
1、读取速度快
2、支持多种数据类型:包括key-value、string、lists
3、支持数据的持久化,可以将内存中的数据保存到硬盘中,重启的时候可以再次加载使用
4、支持数据的备份
Redis集群部署
环境:
192.168.200.100 | redis-1 |
192.168.200.101 | redis-2 |
192.168.200.102 | redis-3 |
192.168.200.111 | redis-4 |
192.168.200.112 | redis-5 |
192.168.200.113 | redis-6 |
使用源码包安装redis
[root@redis-1 ~]# rz
[root@redis-1 ~]#
redis-5.0.3.tar.gz
将redis-5.0.3.tar.gz 分别发送到各台主机
[root@redis-1 ~]# scp redis-5.0.3.tar.gz 192.168.200.101:/root
[root@redis-1 ~]# scp redis-5.0.3.tar.gz 192.168.200.102:/root
[root@redis-1 ~]# scp redis-5.0.3.tar.gz 192.168.200.111:/root
[root@redis-1 ~]# scp redis-5.0.3.tar.gz 192.168.200.112:/root
[root@redis-1 ~]# scp redis-5.0.3.tar.gz 192.168.200.113:/root
解压并进行编译(此处所有主机都执行本次操作)
[root@redis-1 ~]# tar xf redis-5.0.3.tar.gz -C /usr/src
[root@redis-1 ~]# cd /usr/src/redis-5.0.3/
[root@redis-1 redis-5.0.3]# make
[root@redis-1 redis-5.0.3]# make install
如果make继续报错,信息如下:error: jemalloc/jemalloc.h: No such file or directory
执行 make MALLOC=libc 就行
[root@redis-1 redis-5.0.3]# ln -sf /usr/local/redis/bin/* /usr/local/bin/
[root@redis-1 redis-5.0.3]# cd utils/
[root@redis-1 utils]# bash install_server.sh #此处一直按回车键
--------
Successfully added to chkconfig!
Successfully added to runlevels 345!
Starting Redis server...
Installation successful!
修改配置文件(此处所有主机都执行本次操作)
[root@redis-1 utils]# vim /etc/redis/6379.conf
70修改 bind 127.0.0.1 192.168.200.100 #都添加自己相应的IP地址
[root@redis-6 utils]# /etc/init.d/redis_6379 restart
Stopping ...
Redis stopped
Starting Redis server...
查看端口
[root@redis-1 utils]# netstat -lnpt | grep 6379
tcp 0 0 192.168.200.100:6379 0.0.0.0:* LISTEN 22375/redis-server
tcp 0 0 127.0.0.1:6379 0.0.0.0:* LISTEN 22375/redis-server
进入Redis数据库
[root@redis-1 utils]# redis-cli
127.0.0.1:6379> ping
PONG #PONG表示所有主机都存活
=================================================================================================
======================================================================================
进入Redisi数据库
[root@redis-1 utils]# redis-cli
127.0.0.1:6379> ping
PONG
查看参数
127.0.0.1:6379> info
127.0.0.1:6379> set teacher liuxiang #set是创建
OK
127.0.0.1:6379> get teacher #get是获取
"liuxiang"
127.0.0.1:6379> set k2 1
OK
127.0.0.1:6379> set k3 1
OK
127.0.0.1:6379> set k4 1
OK
127.0.0.1:6379> set k5 1
OK 127.0.0.1:6379> set foot mail
OK 127.0.0.1:6379> keys * #keys *是查看数据库中所有的键,不建议在生产环境中使用keys *,因为生产环境中数据量庞大,会导致数据库压力 1) "k1"
2) "teacher"
3) "k2"
4) "k4"
5) "k5"
6) "foot"
7) "k3" 127.0.0.1:6379> keys k* #建议使用这种排除方式来查询
1) "k1"
2) "k2"
3) "k4"
4) "k5"
5) "k3"
127.0.0.1:6379> keys *
1) "k1"
2) "teacher"
3) "k2"
4) "k4"
5) "k5"
6) "foot"
7) "k3"
127.0.0.1:6379> del k5 #删除k5的键与其相对应的值
(integer) 1
127.0.0.1:6379> keys *
1) "k1"
2) "teacher"
3) "k2"
4) "k4"
5) "foot"
6) "k3"
127.0.0.1:6379> set v1 1 #创建一个v1的键值
OK
127.0.0.1:6379> RENAME v1 v11 #修改键值名
OK
127.0.0.1:6379> get v11 #查看键值数据
"1"
127.0.0.1:6379> keys *
1) "teacher"
2) "k2"
3) "v11"
4) "foot"
5) "k3"
6) "k11"
127.0.0.1:6379> RENAMENX k2 k3 #将k2键名改成k3失败,因为已经有了k3的键名
(integer) 0 #返回值为0失败
127.0.0.1:6379> RENAMENX k2 v2 #改名成功
(integer) 1 #返回值为1成功
127.0.0.1:6379> keys *
1) "teacher"
2) "v11"
3) "v2"
4) "foot"
5) "k3"
6) "k11"
127.0.0.1:6379> keys *
1) "teacher"
2) "v11"
3) "v2"
4) "foot"
5) "k3"
6) "k11"
127.0.0.1:6379> DBSIZE
(integer) 6
127.0.0.1:6379> SELECT 10 #进入到10号库
OK
127.0.0.1:6379[10]> keys * #此时数据为零
(empty list or set)
127.0.0.1:6379[10]> SELECT 0 #进入0号默认库
OK
127.0.0.1:6379> keys *
1) "teacher"
2) "v11"
3) "v2"
4) "foot"
5) "k3"
6) "k11"
Redis非关系型缓存数据库集群部署、参数、命令工具的更多相关文章
- Redis 非关系性数据库集群的搭建与常用方法
redis 非关系型数据库,内存型数据库,现在大家都不陌生了,无论大中小型企业,都会将redis应用到自己的项目中,以此来减轻数据库的压力 安装步骤: 1.安装gcc 安装c语言的编译环境 yum i ...
- Spring Boot+redis存储session,满足集群部署、分布式系统的session共享
本文讲述spring-boot工程中使用spring-session机制进行安全认证,并且通过redis存储session,满足集群部署.分布式系统的session共享. 原文链接:https://w ...
- k8s集群部署之环境介绍与etcd数据库集群部署
角色 IP 组件 配置 master-1 192.168.10.11 kube-apiserver kube-controller-manager kube-scheduler etcd 2c 2g ...
- 2、Redis 底层原理:Cluster 集群部署与详解
Redis 简介 Redis 提供数据缓存服务,内部数据都存在内存中,所以访问速度非常快. 早期,Redis 单应用服务亦能满足企业的需求.之后,业务量的上升,单机的读写能力满足不了业务的需求,技术上 ...
- SequoiaDB数据库集群部署
一般在多机环境下部署数据库的集群模式是比较繁琐的,下面我来分享一个如何通过shell脚本的方式简单.方便地部署我们的集群. 首先,我们要给机器配置信任关系,这样我们就无需手动的输入密码来执行ssh和s ...
- redis CentOS6.5安装及集群部署
.下载redis source包 链接:https://pan.baidu.com/s/122ZCjNvjl9Jx6M2YsLrncw 密码:92ze 2.解压 tar -xzf redis-3.2. ...
- Redis集群部署及命令
一.简介 redis集群是一个无中心的分布式Redis存储架构,可以在多个节点之间进行数据共享,解决了Redis高可用.可扩展等问题. redis集群提供了以下两个好处: 将数据自动切分(split) ...
- Linux下使用Magent+Memcached缓存服务器集群部署
1.编译安装libevent cd /root/soft_hhf/ wget http://cloud.github.com/downloads/libevent/libevent/libeven ...
- elasticSearch数据库、skywalking集群部署
Centos6上面安装elasticsearc数据库的集群 安装的是6.3.2版本,安装之前首先要先安装jdk1.8版本 安装之前首先需要关闭防火墙 Centos6 sudo service ipta ...
随机推荐
- MySQL优化(三)——主从复制
1.MySQL高可用 主从复制 一主多备 多主多备 2.MySQL主从复制 主机所有写的数据都会生成二进制SQL日志执行文件,从机只 ...
- 3、const与constexpr
初遇到constexpr真的是有点懵比,看了很多博客也没看懂,不知道是我太笨,还是别人写的太深奥?总之经过一番折腾算是入门了.一下是我个人总结,有不对的地方望指出. 一.学习const与constex ...
- mysql 数据备份。pymysql模块
阅读目录 一 IDE工具介绍 二 MySQL数据备份 三 pymysql模块 一 IDE工具介绍 生产环境还是推荐使用mysql命令行,但为了方便我们测试,可以使用IDE工具 下载链接:https:/ ...
- nat123+nginx实现外网访问本机IIS发布的系统
故事开端(前因) 嗯,内网其实是校园网络,服务器呢,不是阿里云.腾讯云之类的云服务器,而是自己正在码字的笔记本电脑:有公网IP吗?没有!校园IP分配的IP固定不?不固定,动态分配的,额~~~. 我想想 ...
- Python编码小技巧分享【新手必学】
本次分享了python编程小技巧总结如下,希望对大家有帮助,非常实用哦注意:很多人学Python过程中会遇到各种烦恼问题,没有人帮答疑.为此小编建了个Python全栈免费答疑交流.裙 :一久武其 ...
- 2019-08-23 纪中NOIP模拟A组
T1 [JZOJ2908] 矩阵乘法 题目描述 给你一个 N*N 的矩阵,不用算矩阵乘法,但是每次询问一个子矩形的第 K 小数. 数据范围 对于 $20\%$ 的数据,$N \leq 100$,$Q ...
- url编码--url中含有空格问题
开发web服务中,发现当url中含有空格时,会报 400 error: bad request sytanx,经分析,url中含有特殊字符时,服务端可能无法识别.如+,空格,/,?,%,#,& ...
- eclipse将项目打包成jar在linux中运行
最近因为项目需要,做了几个外挂程序做数据传输,涉及到项目打包操作,在此记录一下打包步骤和其中出现的问题. 1.首先右键项目文件夹,点击export,弹出如下选择框,在其中输入jar搜索,并选择JAR ...
- Codeforces Round #617 (Div. 3) 题解
又是隔了一年才来补题的我 A.B水题就不用说了 C - Yet Another Walking Robot C题我居然卡了一会,最后决定用map水,结果出来看了看题解,居然真的是map...没想到会出 ...
- springboot中使用kaptcha验证码
maven依赖 <dependency> <groupId>com.github.penggle</groupId> <artifactId>kaptc ...