【原创】Linux安装Redis

【注】说是原创其实是从各个博客中copy出来的,不过经本人总结,也算是半个原创吧,哈哈...

1.安装环境:

2.安装步骤

  2.1 安装目录

    cd /usr/local 

    mkdir redis

  2.2 下载包 wget http://download.redis.io/releases/redis-3.2.11.tar.gz

    也可到官网https://redis.io/download下载

    悲催的我的机器没装wget... 再装个wget:    yum -y install wget

  2.3 解压

    tar xzf redis-3.2.11.tar.gz

    cd redis-3.2.11

  2.4 make  

    这一步问题挺大的。

    

    有上面的报错,有的博客说装tcl,有的说装gcc,因为急用,也没研究就把两个都装了...

    装gcc的命令比较简单:yum install gcc

    装tcl步骤比较多:(我是先装的tcl,后装的gcc,不过应该先后顺序影响不大)

      wget http://downloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gz

      sudo tar xzvf tcl8.6.1-src.tar.gz -C /usr/local/

      cd /usr/local/tcl8.6.1/unix/

      sudo ./configure

      sudo make

      sudo make install

    都装好后make还是报错,查了下,将make改为make MALLOC=libc 就好了摘自博客【http://blog.csdn.net/wzygis/article/details/51705559】

  2.5 配置文件copy出来

    看了下,几乎所有博客的安装步骤都把这几个配置文件copy出来了,原因不详..

    cd /usr/local/redis/redis-3.2.11/src

    cp redis-server /usr/local/redis

    cp redis-benchmark /usr/local/redis

    cp redis-cli /usr/local/redis

    cp redis.conf /usr/local/redis  (我安装的版本,这个文件不在src目录下,就直接在redis-3.2.11目录下)

  2.6 修改redis.conf配置文件

    默认端口:运维说redis安装好后务必将默认端口改掉,否则容易中病毒...

      port 6379  --> port xxxx

    非本机访问:

      bind 127.0.0.1 --> #bind 127.0.0.1

    以守护进程方式运行:

      daemonize no --> daemonize yes 

 

    保存退出

    

4. Redis的配置4.1. Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程daemonize no4.2. 当Redis以守护进程方式运行时,Redis默认会把pid写入/var/run/redis.pid文件,可以通过pidfile指定pidfile /var/run/redis.pid4.3. 指定Redis监听端口,默认端口为6379,作者在自己的一篇博文中解释了为什么选用6379作为默认端口,因为6379在手机按键上MERZ对应的号码,而MERZ取自意大利歌女Alessia Merz的名字port 63794.4. 绑定的主机地址bind 127.0.0.14.5.当 客户端闲置多长时间后关闭连接,如果指定为0,表示关闭该功能timeout 3004.6. 指定日志记录级别,Redis总共支持四个级别:debug、verbose、notice、warning,默认为verboseloglevel verbose4.7. 日志记录方式,默认为标准输出,如果配置Redis为守护进程方式运行,而这里又配置为日志记录方式为标准输出,则日志将会发送给/dev/nulllogfile stdout4.8. 设置数据库的数量,默认数据库为0,可以使用SELECT <dbid>命令在连接上指定数据库iddatabases 164.9. 指定在多长时间内,有多少次更新操作,就将数据同步到数据文件,可以多个条件配合save <seconds> <changes>Redis默认配置文件中提供了三个条件:save 900 1save 300 10save 60 10000分别表示900秒(15分钟)内有1个更改,300秒(5分钟)内有10个更改以及60秒内有10000个更改。4.10. 指定存储至本地数据库时是否压缩数据,默认为yes,Redis采用LZF压缩,如果为了节省CPU时间,可以关闭该选项,但会导致数据库文件变的巨大rdbcompression yes4.11. 指定本地数据库文件名,默认值为dump.rdbdbfilename dump.rdb4.12. 指定本地数据库存放目录dir ./4.13. 设置当本机为slav服务时,设置master服务的IP地址及端口,在Redis启动时,它会自动从master进行数据同步slaveof <masterip> <masterport>4.14. 当master服务设置了密码保护时,slav服务连接master的密码masterauth <master-password>4.15. 设置Redis连接密码,如果配置了连接密码,客户端在连接Redis时需要通过AUTH <password>命令提供密码,默认关闭requirepass foobared4.16. 设置同一时间最大客户端连接数,默认无限制,Redis可以同时打开的客户端连接数为Redis进程可以打开的最大文件描述符数,如果设置 maxclients 0,表示不作限制。当客户端连接数到达限制时,Redis会关闭新的连接并向客户端返回max number of clients reached错误信息maxclients 1284.17. 指定Redis最大内存限制,Redis在启动时会把数据加载到内存中,达到最大内存后,Redis会先尝试清除已到期或即将到期的Key,当此方法处理 后,仍然到达最大内存设置,将无法再进行写入操作,但仍然可以进行读取操作。Redis新的vm机制,会把Key存放内存,Value会存放在swap区maxmemory <bytes>4.18. 指定是否在每次更新操作后进行日志记录,Redis在默认情况下是异步的把数据写入磁盘,如果不开启,可能会在断电时导致一段时间内的数据丢失。因为 redis本身同步数据文件是按上面save条件来同步的,所以有的数据会在一段时间内只存在于内存中。默认为noappendonly no4.19. 指定更新日志文件名,默认为appendonly.aofappendfilename appendonly.aof4.20. 指定更新日志条件,共有3个可选值: no:表示等操作系统进行数据缓存同步到磁盘(快) always:表示每次更新操作后手动调用fsync()将数据写到磁盘(慢,安全) everysec:表示每秒同步一次(折衷,默认值)appendfsync everysec4.21. 指定是否启用虚拟内存机制,默认值为no,简单的介绍一下,VM机制将数据分页存放,由Redis将访问量较少的页即冷数据swap到磁盘上,访问多的页面由磁盘自动换出到内存中(在后面的文章我会仔细分析Redis的VM机制)vm-enabled no4.22. 虚拟内存文件路径,默认值为/tmp/redis.swap,不可多个Redis实例共享vm-swap-file /tmp/redis.swap4.23. 将所有大于vm-max-memory的数据存入虚拟内存,无论vm-max-memory设置多小,所有索引数据都是内存存储的(Redis的索引数据 就是keys),也就是说,当vm-max-memory设置为0的时候,其实是所有value都存在于磁盘。默认值为0vm-max-memory 04.24. Redis swap文件分成了很多的page,一个对象可以保存在多个page上面,但一个page上不能被多个对象共享,vm-page-size是要根据存储的 数据大小来设定的,作者建议如果存储很多小对象,page大小最好设置为32或者64bytes;如果存储很大大对象,则可以使用更大的page,如果不 确定,就使用默认值vm-page-size 324.25. 设置swap文件中的page数量,由于页表(一种表示页面空闲或使用的bitmap)是在放在内存中的,,在磁盘上每8个pages将消耗1byte的内存。vm-pages 1342177284.26. 设置访问swap文件的线程数,最好不要超过机器的核数,如果设置为0,那么所有对swap文件的操作都是串行的,可能会造成比较长时间的延迟。默认值为4vm-max-threads 44.27. 设置在向客户端应答时,是否把较小的包合并为一个包发送,默认为开启glueoutputbuf yes4.28. 指定在超过一定的数量或者最大的元素超过某一临界值时,采用一种特殊的哈希算法hash-max-zipmap-entries 64hash-max-zipmap-value 5124.29. 指定是否激活重置哈希,默认为开启(后面在介绍Redis的哈希算法时具体介绍)activerehashing yes4.30. 指定包含其它的配置文件,可以在同一主机上多个Redis实例之间使用同一份配置文件,而同时各个实例又拥有自己的特定配置文件include /path/to/local.conf

 

3.测试redis

  redis-server redis.conf

  出现   redis-server: command not found

  搜了下 ,需要做个关联

    ln -s /usr/local/redis/redis-server /usr/bin/redis-server

    ln -s /usr/local/redis/redis-cli /usr/bin/redis-cli

  再执行启动命令,再开个窗口,进入客户端测试,并查看端口号,不赘述

   ps -ef | grep redis (看端口)

   redis-cli -p xxxx  (修改端口号后,启动是要带上端口号,否则会报“Could not connect to Redis at 127.0.0.1:6379: Connection refused”错误)

   redis-cli -h 127.0.0.1 -p 端口 -a 密码  (修改密码后,不带密码登录,会报没有权限,设置密码见上4.15)

   redis> set a aA 

      OK

   redis> get a

      "aA"

     

    

    

转载于:https://www.cnblogs.com/java-lzh/p/8075858.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/354409.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

原型链继承

转载于:https://www.cnblogs.com/cmblog/p/8079773.html

java线程死锁_Java线程死锁–案例研究

java线程死锁本文将描述从在IBM JVM 1.6上运行的Weblogic 11g生产系统中观察到的最新Java死锁问题的完整根本原因分析。 此案例研究还将证明掌握线程转储分析技能的重要性&#xff1b; 包括用于IBM JVM Thread Dump格式。 环境规格 – Java EE服务器&#xff1a;Oracle Weblo…

linux下安装pm2

提前安装node linux下安装pm2 全局安装 npm install pm2 -g安装完成后可以查看pm2的所在目录 创建软连接----根据上面的安装目录创建 ln -s /home/node/nodejs/lib/node_modules/pm2/bin/pm2 /usr/local/bin/查看进程 pm2 list安装成功&#xff01;&#xff01;&#xff…

主机关机后第二天就无法开机_工控机几种常见的在开机或关机后不能正常使用的故障处理方法汇总...

工控机开机启动时我们经常会碰到各种不能正常使用的问题&#xff0c;下面我们把这类故障现象及处理方法在这里给大家汇总分析一下&#xff0c;希望你在碰到类似的问题时&#xff0c;能给你们提供一定的帮助&#xff01;故障现象一&#xff1a;工控机在开机过程中出现死机故障.故…

网站添加页面热力图--百度统计

1&#xff0c;注册百度统计的账户并登录 https://tongji.baidu.com/web/10000307684/welcome/login 2&#xff0c;新增网站 管理-网站列表-自有网站-新增网站 3&#xff0c;新增网页热力图 基础报告-页面点击图-新增点击图 4&#xff0c;复制统计代码 把统计的代码放到…

pandas中inplace_pandas回顾小结(二)

上一篇&#xff1a;橘猫吃不胖&#xff1a;pandas回顾小结&#xff08;一&#xff09;​zhuanlan.zhihu.comIndexIndex也有很多种类型&#xff0c;官方文档介绍&#xff1a;Index objects - pandas 1.1.4 documentationindex是可以包含重复值的df pd.DataFrame([[1,2,3],[4,5,…

Swing应用程序中的CDI事件可将UI与事件处理分离

在享受了几年围绕CDI构建我的代码的乐趣之后&#xff0c;使用它根据众所周知的模式来构造我的代码非常自然。 CDI是一种旨在在Java EE应用程序服务器中使用的依赖项注入机制&#xff0c;这可能被视为不利。 但是&#xff0c;我想证明它可以在Java SE应用程序中使用并且具有巨大…

keras 多层lstm_机器学习100天-Day2403 循环神经网络RNN(训练多层RNN)

说明&#xff1a;本文依据《Sklearn 与 TensorFlow 机器学习实用指南》完成&#xff0c;所有版权和解释权均归作者和翻译成员所有&#xff0c;我只是搬运和做注解。进入第二部分深度学习第十四章循环神经网络循环神经网络可以分析时间序列数据&#xff0c;诸如股票价格&#xf…

新手上路之django项目开发(一)-----创建项目并运行

一&#xff0c;创建项目 1&#xff0c;PyCharm创建 或者 2&#xff0c;django-admin startproject mysite mysite 是项目名。 二&#xff0c;配置settings.py文件 创建templates目录&#xff0c;static目录 settings.py文件中加入&#xff1a;os.path.join(BASE_DIR, ‘tem…

lisp语言画阿基米德线_中国油画艺术表达着艺术家思想情感,而且展现了油画语言独特之美...

感谢大家阅读&#xff0c;在阅读之前&#xff0c;麻烦您先点击上面的“蓝色字体”&#xff0c;再点击“关注”&#xff0c; 因为微信更改了推送规则&#xff0c;推文不再按照时间线显示&#xff0c;如果不点『在看』或者没有『星标』&#xff0c;可能就看不到我们的推送了&…

java btrace_BTrace for Java应用程序简介

java btrace本文的目的是学习如何使用BTrace动态跟踪/观察正在运行的Java应用程序&#xff08;JDK 6&#xff09;&#xff0c;而无需更改应用程序的代码和配置参数。 什么是BTrace&#xff1f; BTrace是一个开源项目&#xff0c;始于2007年&#xff0c;最初由A.Sundararajan和…

我的世界javamod怎么装_「装修细节」除了中央空调外的高颜值装空调大法

一直觉得中央空调是高颜值神器但是对于我这种万年单身狗在考虑开启率的情况下好像还是风管机和挂机比较实用但是又嫌弃挂机的电线冷凝水管丑到不行直到我看到了-----管线背出的挂机仿佛开启了新世界的大门| 怎么做到的 |我问了好多卖中央空调的有没有管线背出的挂机都和我说不清…

rm删除文件显示:Operation not permitted

当需要删除某个文件夹或者文件时&#xff0c;提示Operation not permitted&#xff0c;表示不允许操作。 解决方法如图 chattr -i .user.ini 注释&#xff1a; rm -rf 目录名字 &#xff1a;删除 -r 就是向下递归&#xff0c;不管有多少级目录&#xff0c;一并删除 -f 就是直…

sublime 代码格式化

插件&#xff1a; SublimeAStyleFormatter Package Control Messages SublimeAStyleFormatter---------------------- SublimeAStyleFormatter SublimeAStyleFormatter is a simple code formatter plugin for Sublime Text 2. It provides ability to format C, C, C#, and J…

Linux下安装并使用MySQL数据库

注意&#xff1a;如果是配合python使用的话&#xff0c;连接数据库的时候注意python2使用的是mysqldb&#xff0c;python3使用的是pymysql。详细看第三点。 一&#xff0c;首先设置安全组 开放MySQL的默认端口3306 二&#xff0c;安装MySQL服务 在官网查找最新版本的下载链…

Windows下安装并使用MySQL数据库

MySQL是一款免费开源的关系型数据库&#xff0c;很多中小型企业开发项目都选择使用MySQL数据库&#xff0c;所以大家也在优先选择学习MySQL数据库。 一&#xff0c;安装 1.打开MySQL下载地址&#xff0c;MySQL官方下载地址https://dev.mysql.com/downloads/mysql/。 2.选择自…

您的第一个Lagom服务– Java Microservices入门

在撰写我的下一份OReilly报告时&#xff0c;我一直很沮丧&#xff0c;而且一段时间内没有足够的时间来撰写博客。 是时候赶快来这里&#xff0c;让您真正快速地开始使用名为Lagom的新微服务框架。 它与您从Java EE或其他应用程序框架中可能了解到的有所不同。 这对您来说是学习…

转先验概率、最大似然估计、贝叶斯估计、最大后验概率

最大似然估计&#xff1a; 最大似然估计提供了一种给定观察数据来评估模型参数的方法&#xff0c;即&#xff1a;“模型已定&#xff0c;参数未知”。简单而言&#xff0c;假设我们要统计全国人口的身高&#xff0c;首先假设这个身高服从服从正态分布&#xff0c;但是该分布的均…

osgi 模块化_OSGi案例研究:模块化vert.x

osgi 模块化OSGi使Java代码可以清晰地划分为多个模块&#xff0c;这些模块称为捆绑软件 &#xff0c;可以访问由每个捆绑软件的类加载器控制的代码和资源。 OSGi 服务提供了一种附加的分离机制&#xff1a;接口的用户无需依赖于实现类&#xff0c;工厂等。 以下案例研究旨在使O…

第三场阴影场与属性访问器接口

这是“ 影子字段与属性访问器”界面的 第3轮 。 如果您是新手&#xff0c;但不确定要怎么做&#xff0c;请查看我以前的文章或关于开发JavaFX应用程序时节省内存的第一篇文章 。 作为Java开发人员&#xff0c;我主要关心的是在开发JavaFX域模型时在性能 &#xff0c; 内存使用和…