本文从NoSQL诞生的由来引出Redis数据库,并对其简单介绍,然后进行Redis手工编译安装的流程演示(实验Linux环境的系统版本为:CentOS 7),最后介绍Redis常用的命令工具。
使用之前准备工作: 1)配置好与端口无关的公共redis.conf文件,和工具放在同一目录下 2)配置好与端口相关的模板redis-PORT.conf文件,也和工具放在同一目录下(部署时PORT会被替换成具体的端口号) 3)配置好组成集群的节点文件redis_cluster.nodes,也和工具放在同一目录下 redis_cluster.nodes的文件格式为每行一个组成Redis集群的节点,支持“#”打头的注释行,格式示例: 127.0.0.1 6381 127.0.0.1 6382 127.0.0.1 6383 127.0.0.1 6384 127.0.0.1 6385 127.0.0.1 6386 4)创建好安装redis的目录(可建筑批量工具mooon_ssh完成,deploy_redis_cluster.sh主要也是利用了该批量工具) 5)其它更详细的可以直接看源代码,有详细的说明。 建立将https://github.com/eyjian/redis-tools/tree/master/deploy下载到一个目录,运行deploy_redis_cluster.sh工具时,它会提示各种前置条件,比如redis-cli是否可用等。 源码(可从https://github.com/eyjian/redis-tools下载):
Redis是一种NoSQL(not-only sql,泛指非关系型数据库)的数据库。由 C 语言开发的一个开源的高性能键值对(key-value)的内存数据库,可以用作数据库、缓存、消息中间件等。
虽然自己是一个开发,但是并不能止于开发的技术,项目发布需要部署到到Linux 服务器上, 所以对于开发人员来说,掌握一定的运维技能是必须的, 之前也有过帮人搭建网站的一些经验,运维什么的也是自己一并来,所以专门写一篇文章来记录一下相关,方便回头查阅!
参考:https://blog.csdn.net/wzygis/article/details/51705559
[root@xinglinglove ~]# yum -y install gcc gcc-c++ autoconf automake make
官网下载,安装依赖 tcl,如果先安装 redis 的话,会报错,所以需要安装一下 tcl
在下载完redis-5.0.7.tar.gz后,我们通过命令tar -zxvf redis-5.0.7.tar.gz,解压后将redis安装包拷贝到/usr/local目录下,命令sudo mv redis-5.0.7 /usr/local。
redis3.+版本(自行下载,redis 的版本:副版本号奇数版本号是测试版,不建议在生产环境中使用。偶数版本时稳定版建议在生产环境中使用。3.0 版本更新比较大。集成了集群技术)
Linux依然使用的是CentOS 7,安装的redis是官网的最新的版本4.0.2
# 1.安装脚本 可选redis4.0.11或者redis5.0.8 #!/bin/bash # read -p "please input your server IP like 192.168.0.9: " redisip # echo $redisip echo -e " Please choose REDIS version: $WHITE 1)$WHITE $redis_version1; $WHITE 2)$WHITE $redis_version2;" echo -e "$WHITE
执行完 make 命令后,redis-6.0.9 的 src 目录下会出现编译后的 redis 服务程序 redis-server,还有用于测试的客户端程序 redis-cli:
编译完成后再次在/usr/local/redis-5.0-rc3中执行make命令
install_redis.sh接收$1参数,可指定安装路径,默认安装路径为/usr/local
Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache and message broker. It supports data structures such as strings, hashes, lists, sets, sorted sets with range queries, bitmaps, hyperloglogs, geospatial indexes with radius queries and streams. Redis has built-in replication, Lua scripting, LRU eviction, transactions and different levels of on-disk persistence, and provides high availability via Redis Sentinel and automatic partitioning with Redis Cluster.
启动redis服务,并指定启动服务配置文件,检测运行端口,为了安全,请不要使用root用户去启动
Redis 离线安装,是比较麻烦的,需要提前下载好依赖的相关gcc的包,这次小编给大家一次性整理好所需的rpm包和Redis安装包。
配套资料: makefile方面有陈皓大神的跟我一起写MakeFile,我就不班门弄斧了。
(推荐)Github下载:https://github.com/redis/redis
Last stable version: 1.1.2, please update docker
Redis需要监控才知道具体运行信息,虽然Redis也提供了info等命令行,但是毕竟不方便而且不能保存历史信息。
Download, extract and compile Redis with:
yum -y install gcc gcc-c++ python36-devel mysql-devel
https://github.com/uglide/RedisDesktopManager/releases
Redis是一个开源(BSD许可)的内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。由于Redis采用运行在内存中的数据集工作方式,其性能卓越,能支持超过100K+每秒的读写频率。它支持多种类型的数据结构,如字符串(strings), 散列(hashes),列表(lists),集合(sets),有序集合(sorted sets)与范围查询和地理空间(geospatial)索引半径查询。Redis内置了复制(replication), LUA脚本(Lua scripting),LRU淘汰机制,事务实现(transactions),发布订阅(publish/subscribe)和不同级别的磁盘持久化(persistence)等能力, 并通过Redis哨兵(Sentinel)和自动分区(Cluster)提供高可用性(high availability)。
Redis是什么? Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。是NoSql之一,也被称作结构化数据库。 官网:https://redis.io/ 中文官网:http://www.redis.cn/
[root@localhost ~]# vim auto_install_redis.sh
Redis是一种高级key-value数据库。它跟memcached类似,不过数据可以持久化,而且支持的数据类型很丰富。有字符串,链表,集 合和有序集合。支持在服务器端计算集合的并,交和补集(difference)等,还支持多种排序功能。所以Redis也可以被看成是一个数据结构服务器。
1.修改/root/redis-stable/redis.conf: daemonize no 将值改为yes 保存退出
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 6
在修改了以上三种参数(密码、端口、IP地址)中的任意一种后,都无法再使用脚本来停止服务(启动服务不影响),需要对脚本进行修改。
通过ansible实现自动化搭建 Redis Cluster 集群环境 Docker 搭建Redis 集群
在安装 Redis 前需要了解 Redis 的版本规则以选择最合适自己的版本,Redis 约定次版本(即第一个小数点后的数字)为偶数的版本是稳定版本(如 2.4版本,2.6版本),奇数版本是非稳定版本(如2.5版本,2.7版本),推荐使用稳定版本进行开发和在生产环境中使用.
如果要安装最新的redis,需要安装Remi的软件源,官网地址:http://rpms.famillecollet.com/
1.解压后在根目录上输入ls 列出所有目录会发现与下载redis之前多了一个redis-6.0.10.tar.gz文件和 redis-6.0.10的目录。
本系列整理出于《Redis深度历险:核心原理与应用实践》一书,摘抄整理读后感与总结。
3. 更新gcc版本(如果当前的gcc版本不是5.3以上,执行下面命令更新gcc版本)redis6.0以上需要更新gcc版本
多路复用是指使用一个线程来检查多个文件描述符(Socket)的就绪状态,比如调用select和poll函数,传入多个文件描述符,如果有一个文件描述符就绪,则返回,否则阻塞直到超时。得到就绪状态后进行真正的操作可以在同一个线程里执行,也可以启动线程执行(比如使用线程池)
https://openresty.org/cn/installation.html
单台部署 安装依赖环境 yum install make mpfr gcc jemalloc tcl 脚本 centos7 http://list.attacker.club/scripts/shell/Databases/redis/redis_install.sh centos6 http://list.attacker.club/scripts/
此处援引自博客 由于最新版的 redis 无法匹配老版本的 gcc 因此需要升级 gcc
Redis 的安装需要 C++ 环境,因此我们需要先安装好 C++ 环境,以对 Redis 解压后的压缩包进行编译
如果是长期使用gcc9.3需要使用命令: echo “source /opt/rh/devtoolset-9/enable” >>/etc/profile,继续执行make操作
Redis是一种高级key-value数据库。它跟memcached类似,不过数据可以持久化,而且支持的数据类型很丰富。有字符串,链表,集 合和有序集合。支持在服务器端计算集合的并,交和补集(difference)等,还支持多种排序功能。所以redis也可以被看成是一个数据结构服务器。
redis6的源码需要用gcc版本为9的环境进行编译。首先需要确认,gcc及gcc-c++ 已经安装。如果没有安装,执行如下命令:
这里需要为Python安装Redis库,下载https://github.com/andymccurdy/redis-py 后,解压并安装:
这是因为,centos默认的安装源在官方centos.org上,而Redis在第三方的yum源里,所以无法安装,非官方的yum推荐用fedora的epel仓库
一 、 首先更新系统和软件包 1 . 更新软件包 # run as root! apt-get update -y apt-get upgrade -y apt-get install sudo -y 2 . 配置编辑器 # Install vim and set as default editor sudo apt-get install -y vim sudo update-alternatives --set editor /usr/bin/vim.basic 3 . 安装ruby curl -L
领取专属 10元无门槛券
手把手带您无忧上云