Redis is an open source (BSD licensed), in-memory data structure store, used as database, cache and message broker. It supports data structures such as strings, hashes, lists, sets, sorted sets with range queries, bitmaps, hyperloglogs and geospatial indexes with radius queries. 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是以源码方式发行的,先下载源码,然后在linux下编译。

http://www.redis.io/download 先到这里下载Stable稳定版,目前最新版本是3.0.7。

上传到linux,解压

tar xzf redis-3.0.7.tar.gz

编译

#安装tcl支持
yum install tcl
cd redis-3.0.7
make
make test
make install

测试通过后安装,安装后会自动把redis-server,redis-cli,redis-benchmark,redis-check-aof,redis-check-dump复制到/usr/local/bin目录下

配置启动脚本,开机启动

编辑redis.conf文件,修改daemonize no改成yes,也可以修改日志文件,数据文件路径等。然后复制并重命名redis.conf 到/etc/redis/6379.conf

redis源码中带有启动脚本redis_init_script,在解压目录下的utils目录中。复制并重命名redis_init_script到/etc/init.d/redis

修改启动脚本

vim /etc/init.d/redis

避免设置开机启动时的 service redis does not support chkconfig异常(详情),在第二行增加

#chkconfig: 2345 80 90

最后的启动脚本如下:

#!/bin/sh
# chkconfig: 2345 80 90
# Simple Redis init.d script conceived to work on Linux systems
# as it does use of the /proc filesystem. REDISPORT=6379
EXEC=/usr/local/bin/redis-server
CLIEXEC=/usr/local/bin/redis-cli PIDFILE=/var/run/redis_${REDISPORT}.pid
CONF="/etc/redis/${REDISPORT}.conf" case "$1" in
start)
if [ -f $PIDFILE ]
then
echo "$PIDFILE exists, process is already running or crashed"
else
echo "Starting Redis server..."
$EXEC $CONF
fi
;;
stop)
if [ ! -f $PIDFILE ]
then
echo "$PIDFILE does not exist, process is not running"
else
PID=$(cat $PIDFILE)
echo "Stopping ..."
$CLIEXEC -p $REDISPORT shutdown
while [ -x /proc/${PID} ]
do
echo "Waiting for Redis to shutdown ..."
sleep 1
done
echo "Redis stopped"
fi
;;
*)
echo "Please use start or stop as first argument"
;;
esac

注意pid文件要和conf中的pid一致,要不关闭redis时会失败,如果conf没有改动pid,那么变动下上面的启动脚本中的PIDFILE

PIDFILE=/var/run/redis_${REDISPORT}.pid
改为
PIDFILE=/var/run/redis.pid

设置开机启动

sudo chkconfig redis on
#启停服务
service redis start
service redis stop

配置防火墙打开对应的端口:

vi /etc/sysconfig/iptables
#增加开放6379端口的规则
-A INPUT -m state --state NEW -m tcp -p tcp --dport 6379 -j ACCEPT
#重启防火墙
service iptables restart

redis-cli 验证

切换到redis bin目录

cd /usr/local/bin

指定端口6379,连接到本机redis,同时设置一个key为test,value为'Hello Redis'的缓存项

redis-cli -p 6379 set test 'hello redis'
#成功返回OK

读取缓存

./redis-cli -p 6379 get test

删除缓存

./redis-cli -p 6379 del test

建议查看官方入门文档:http://www.redis.io/topics/data-types-intro

配置redis仅做为缓存使用

如果不打算使用事务、管线等一堆复杂功能,仅仅把redis当成cache server使用,可以在配置文件中,找到maxmemory、maxmemory-policy这二项,参考下面修改

# 限定最多使用2GB内存
maxmemory 2048mb
#所有key全都按LRU(近期最少使用)算法淘汰,这种情况下,不用设置过期时间,只要内存使用达到上限,不怎么使用的key自然被干掉
maxmemory-policy allkeys-lru

redis安装、配置、启停的更多相关文章

  1. Redis(一) redis安装、启停

    Redis是开源的内存数据存储,常被用作为内存数据库.缓存.全局队列.计数器等等. Redis安装 Redis分为多种模式:单机模式.高可用模式.集群模式.这篇中主要简介单机版的安装方式. 源码构建式 ...

  2. Linux中redis安装配置及使用详解

    Linux中redis安装配置及使用详解 一. Redis基本知识 1.Redis 的数据类型 字符串 , 列表 (lists) , 集合 (sets) , 有序集合 (sorts sets) , 哈 ...

  3. redis 安装配置学习笔记

    redis 安装配置学习笔记 //wget http://download.redis.io/releases/redis-2.8.17.tar.gz 下载最新版本 wget http://downl ...

  4. Ubuntu系统的Redis安装配置

    Ubuntu系统的Redis安装配置 一.      安装Redis: 在Ubuntu系统下安装Redis数据库有两种方式: 方式一:下载最新的Redis版本(tar.gz格式),解压安装.操作如下: ...

  5. Windows下Redis安装配置和使用注意事项

    Windows下Redis安装配置和使用注意事项 一:下载 下载地址: https://github.com/microsoftarchive/redis/releases 文件介绍: 本文以3.2. ...

  6. java:redis(redis安装配置,redis的伪集群配置)

    1.redis安装配置: .安装gcc : yum install gcc-c++ .使用FTP工具FileZilla上传redis安装包到linux根目录下(当前步骤可以替换为:在root目录下执行 ...

  7. 1.redis安装配置

    Redis 1.Redis安装: 说明: 1.也是一种类似于Memcached的kev-value机制的存储服务 2.是非关系型数据库(NoSQL)的一种. 3.官网:www.redis.io,中文网 ...

  8. linux上redis安装配置及其防漏洞配置及其攻击方法

    Linux上redis安装: 需先在服务器上安装yum(虚拟机可使用挂载的方式安装) 安装配置所需要的环境运行指令:  yum -y install gcc 进入解压文件执行make 指令进行编译 执 ...

  9. Nginx(一)安装及启停

    目录 1 nginx安装 2 nginx启停 我发现很多博客排版杂乱,表达不清,读者看了往往云里雾里.我此前的博客也是如此,我自己很不满意.今起,每一篇博客都会用心写,此前的博客我也会尽力修改.至少要 ...

  10. nginx+redis安装配置(内存型数据库)实现session的共享

    注意:借鉴原文章:http://www.cnblogs.com/roy-blog/p/7196054.html 感兴趣的可以加一下481845043 java交流群,共同进步. 1 session的概 ...

随机推荐

  1. 【性能测试】:LR中解决接口请求中包含中文字符,服务器不识别的问题

    在LR中,直接写的接口请求,如果请求字段包含中文字段,服务器会不识别,这个时候就要用到lr_convert_string_encoding这个函数: 具体用法: lr_convert_string_e ...

  2. [转] Scala 的集合类型与数组操作

    [From] https://blog.csdn.net/gongxifacai_believe/article/details/81916659 版权声明:本文为博主原创文章,转载请注明出处. ht ...

  3. [转] Elasticsearch 6.1官方入门教程

    一篇比较简要又全面的elasticsearch教程. https://blog.csdn.net/hololens/article/details/78932628

  4. maven工程下testng简单使用

    创建maven工程后,将Repository仓库中maven代码粘贴复制到pom.xml文件中,仓库地址:<!-- https://mvnrepository.com/artifact/org. ...

  5. OPENERP 拓展 res.partner 对象,添加QQ号

    公司最近在导入开业物品资料,根据同事的需求,需要在供应商资料中添加QQ号一项,根据前段时间自己摸索的经验,准备自己尝试通过继承完成这一需求. 模块名定义为rainsoft_partner 创建__in ...

  6. 在idea中使用@Test注解报错的解决方案

    Junit注解 为什么使用单元测试注解,就是为了单元测试自己的代码有没有写错,方便于排错误, 没有使用注解之前,我们开发时测试一个刚写的类,一般输出看到结果都要写一个main方法才能测试,但是使用的单 ...

  7. Json&XML比较

    1.定义 1.1 XML定义 扩展标记语言 (Extensible Markup Language, XML) ,用于标记电子文件使其具有结构性的标记语言,可以用来标记数据.定义数据类型,是一种允许用 ...

  8. 关于JNI调用从eclipse转到Android Studio遇到的问题(总结)

    将一个小应用从eclipse开发迁移到android studio,程序中有native代码实现,在eclipse是靠Android.mk这么个mk文件来组织编译的,但到android studio上 ...

  9. linux mint 19 与windows时间不同步

    首先确定时间无误 sudo apt-get install ntpdate sudo ntpdate time.windows.com 2 sudo hwclock --localtime --sys ...

  10. git 学习之撤销和删除

    在实际的工作和学习中我们经常的会对文件进行修改,但是或多或少的就会发现由于某些原因修改是错误的这时候就需要对所做的修改进行撤销,更或者某些时候需要对文件进行删除.本节就会告诉大家如何操作. 撤销操作 ...