redis 数据库 3.0.5 源码安装

Redis是一个开源,先进的key-value存储,并用于构建高性能,可扩展的Web应用程序的完美解决方案。

Redis从它的许多竞争继承来的三个主要特点:

  • Redis数据库完全在内存中,使用磁盘仅用于持久性。
  • 相比许多键值数据存储,Redis拥有一套较为丰富的数据类型。
  • Redis可以将数据复制到任意数量的从服务器

Redis 优势

  • 异常快速:Redis的速度非常快,每秒能执行约11万集合,每秒约81000+条记录。
  • 支持丰富的数据类型:Redis支持最大多数开发人员已经知道像列表,集合,有序集合,散列数据类型。这使得它非常容易解决各种各样的问题,因为我们知道哪些问题是可以处理通过它的数据类型更好。
  • 操作都是原子性:所有Redis操作是原子的,这保证了如果两个客户端同时访问的Redis服务器将获得更新后的值。
  • 多功能实用工具:Redis是一个多实用的工具,可以在多个用例如缓存,消息,队列使用(Redis原生支持发布/订阅),任何短暂的数据,应用程序,如Web应用程序会话,网页命中计数等


redis 3.0.5 源码安装

安装 make 和 gcc-c++编译器
yum -y install make gcc-c++

解包安装
tar zxf redis-3.0.5.tar.gz
cd redis-3.0.5
make MALLOC=libc

更改目录
mv redis-3.0.5 /usr/local/redis

启动
/usr/local/redis/src/redis-server /usr/local/redis/redis.conf

注意:这时候会有三个警告信息!

警告1:
WARNING overcommit_memory is set to 0! Background save may fail under low memory condition.
To fix this issue add ‘vm.overcommit_memory = 1’ to /etc/sysctl.conf and then reboot or run the command ‘sysctl vm.overcommit_memory=1’ for this to take effect.

过量使用内存设置为0!在低内存环境下,后台保存可能失败。为了修正这个问题,请在/etc/sysctl.conf 添加一项 ‘vm.overcommit_memory = 1’ ,然后重启(或者运行命令’sysctl vm.overcommit_memory=1’ )使其生效。

解决:
vim /etc/sysctl.conf
vm.overcommit_memory = 1
sysctl -p

使用数字含义:

0:表示内核将检查是否有足够的可用内存供应用进程使用;如果有足够的可用内存,内存申请允许;否则,内存申请失败,并把错误返回给应用进程。
1:表示内核允许分配所有的物理内存,而不管当前的内存状态如何。
2:表示内核允许分配超过所有物理内存和交换空间总和的内存

警告2:
WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128

tcp 511 不能设置是因为/proc/sys/net/core/somaxconn 设置为128的低值。
somaxconn 定义了系统中每一个端口最大的监听队列的长度,这是个全局的参数 , 默认值为128 , 需要改成511才可以

解决:
echo 511 > /proc/sys/net/core/somaxconn

警告3:
WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command ‘echo never > /sys/kernel/mm/transparent_hugepage/enabled’ as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled.

解决:
echo never > /sys/kernel/mm/transparent_hugepage/enabled

never 关闭,不使用透明内存
alway 尽量使用透明内存,扫描内存,有512个 4k页面可以整合,就整合成一个2M的页面
madvise 避免改变内存占用

ok,这时候可以正常启动了 (无警告启动)



安装到这一步结束,下面配置下 redis.conf 配置档

创建 log 和 data 数据目录

mkdir -p /var/log/redis
mkdir -p /data/redis/

修改下配置档参数
vim /usr/local/redis/redis.conf

daemonize yes                          # 允许 redis 以后台运行
logfile "/var/log/redis/redis.log"     # 指定 redis 日志目录
appendonly yes                         # 开启 .aof 数据 (默认 dump.rdb 也是开启的)
bind 10.1.0.100                        # 监听 ip 地址
dir /data/redis                        # redis 数据存放目录
时间: 2024-07-28 15:22:54

redis 数据库 3.0.5 源码安装的相关文章

centos-CentOS 7.0 上源码安装 Xen 4.5出错,怎么解决

问题描述 CentOS 7.0 上源码安装 Xen 4.5出错,怎么解决 xl info xl: error while loading shared libraries: libxlutil.so.4.3: cannot open shared object file: No such file or directory cd /usr/lib/ ln -s /usr/local/lib/libxlutil.so.4.3.0 libxlutil.so.4.3 ln -s /usr/local/

最新版的CentOS 7.0上源码安装虚拟机Xen 4.5教程

貌似这次 CentOS 没有发布 Minimal 安装版,下面的编译安装步骤在 LiveCD 安装版(CentOS-7.0-1406-x86_64-livecd.iso)上完成. 安装需要的软件包 安装完 CentOS 7.0 后第一件事就是启动 SSH 以便能从另外一台机器访问,新版本的 CentOS 引入了有争议的 systemd 进程管理器替代了 Unix 传统的 init 系统.开启服务使用 systemctl 命令: # systemctl start sshd # systemctl

【原创】源码安装 Atlas-1.0.3 遇到的问题以及解决办法

      今天 360 团队在 GitHub 上发布了 Atlas-2.0.0 版本.可喜可贺,希望 360 的开发团队能够一直保持下去.借此时机,将之前对 Atlas-1.0.3 的一些理解和使用,以博客形式总结一下.本文主要讲一下在源码安装和刚开始运行 Atlas-1.0.3 时可能遇到的问题.  =====  按照安装说明,Atlas-1.0.3 的安装有如下依赖项: glib(2.32.x).libevent(1.4以上).Lua(5.1.x).OpenSSL(0.9.8以上)  基本

Debian8上源码安装MySQL5.6.19数据库方法

最近换了份新工作,以前一直接触的是CentOS操作系统,并且是RPM安装MySQL的,现在新公司使用Debian系统,并用源码安装MySQL,所以赶紧将新知识纪录下来== 安装编译软件cmake,make # 安装cmake apt-get install -y cmake # 安装make apt-get install -y make 获得MySQL源码 http://dev.mysql.com/downloads/mysql/ 创建MySQL根目录 # 创建MySQL根目录 mkdir -

vsftpd-3.0.2源码编译安装配置指南

风信网(ithov.com)原创文章:今天我们向大家来讲解说明vsftpd-3.0.2通过源码进行编译及安装.配置的详细说明!首先,下载vsftpd-3.0.2源码包,地址如下: https://security.appspot.com/downloads/vsftpd-3.0.2.tar.gz 如果链接无效,大家可以通过百度或是http://www.aliyun.com/zixun/aggregation/9464.html">Google搜索vsftpd的官方网站进行下载! 详细的安装

Linux中用cmake编译mysql5.5数据库源码安装教程

MySQL自5.5版本以后,就开始使用cmake编译工具,所以这篇文章主要是讲解如何通过cmkae编译安装mysql5.5及其以后的版本. 注意本篇文章的环境为centos6.5 64bit. cat /etc/system-release uname -a   在安装mysql数据库之前,我们首先要在系统中新建mysql运行时的用户mysql.如下: useradd -M -s /sbin/nologin mysql grep mysql /etc/passwd cat /etc/passwd

LNMP源码安装及phpwind应用

lnmp =linux+nginx+mysql+php 以前我们做过LAMP环境的搭建,而对于nginx而言,其性能相对apache提高了很多, 实验借助于nginx来LNMP环境, 环境搭建分三步:mysql绿色包安装,php源码包安装,nginx源码包安装 最后phpwind应用 一.安装mysql 1.[root@localhost ]# tar -zxvf mysql-5.5.15-linux2.6-i686.tar.gz -C /usr/local [root@localhost lo

Linux下MySQL-5.6的源码安装

本文主要介绍centos下源码安装MySQL 5.6的方法,centos的版本为5.8. 1)首先,你需要到MySQL官网下载源码tar包,点击MySQL Community Server,选择Source Code,源码包不大,只有 34M左右. 注:以下操作没有特殊说明,都是以root账户执行. 2)先安装cmake(mysql5.5以后源码安装都得通过cmake编译) # yum install cmake 并确保以下两个包已安装最新版: ncurses ncurses-devel 3)添

Nginx源码安装及调优配置

由于Nginx本身的一些优点,轻量,开源,易用,越来越多的公司使用nginx作为自己公司的web应用服务器,本文详细介绍nginx源码安装的同时并对nginx进行优化配置. Nginx编译前的优化 [root@linuxprobe ~]# wget http://nginx.org/download/nginx-1.10.1.tar.gz [root@linuxprobe ~]# tar xvf nginx-1.10.1.tar.gz -C /usr/local/src/ [root@linux