文档章节

Linux Redis安装及使用

拿客-三产
 拿客-三产
发布于 2016/05/28 02:01
字数 778
阅读 174
收藏 11

##转载请标明出处 http://coderknock.com ####获取Redis包[可以在官网获取最新的下载路径]

wget http://download.redis.io/releases/redis-3.2.0.tar.gz

####解压、编译

tar xzf redis-3.2.0.tar.gz
cd redis-3.2.0
make
make test
make install

make test时可能会报如下错误:

cd src && make test
make[1]: Entering directory `/root/redis-3.2.0/src'
You need tcl 8.5 or newer in order to run the Redis test
make[1]: *** [test] Error 1
make[1]: Leaving directory `/root/redis-3.2.0/src'
make: *** [test] Error 2

####我们安装一下 tcl 支持,然后在进行编译操作

yum install tcl

####编译的时间可能会比较长,大家耐心等待一会儿

!!! WARNING The following tests failed:

*** [err]: Server is able to generate a stack trace on selected systems in tests/integration/logging.tcl
expected stack trace not found into log file
Cleanup: may take some time... OK
make[1]: *** [test] Error 1
make[1]: Leaving directory `/root/redis-3.2.0/src'
make: *** [test] Error 2

上面的警告只是某个测试没有通过,可以忽略。 编译完成后会在src文件夹中生成redis-serverredis-benchmarkredis-cli 新建一个自己的文件夹,将上面的文件放入其中,并且将redis安装包解压目录下的redis.conf也拷贝入新建文件夹

mkdir /etc/redis 
cp redis-server /etc/redis
cp redis-benchmark /etc/redis
cp redis-cli /etc/redis
cd ..
cp redis.conf /etc/redis
cd /etc/redis

转到目录,执行

redis-server redis.conf

如果出现 redis安装成功 则安装成功,但是这样子每次运行后不能关闭命令窗口,不然进程就会断掉。 ####将redis做成一个服务 redis-3.2.0/utils/redis_init_script是redis初始化脚本 将其复制到etc服务中

cp redis-3.2.0/utils/redis_init_script /etc/rc.d/init.d/redis

####如果这时添加注册服务:

chkconfig --add redis

将报以下错误:

service redis does not support chkconfig

我们需要修改一下启动的脚本:

#!/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=/etc/redis/redis-server
CLIEXEC=/etc/redis/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

####修改的内容:

  1. 添加上面代码中的第二行chkconfig: 2345 80 90内容
  2. 按情况修改7、8行
EXEC=/etc/redis/redis-server
CLIEXEC=/etc/redis/redis-cli
  1. 第20行添加&表示服务在后台运行[这样关闭命令行之后也会继续运行] 我们看到第11行指定的配置文件是CONF="/etc/redis/${REDISPORT}.conf"以端口为名的conf[这样改变端口时不同端口可以使用不同conf] 所以
cp /etc/redis/redis.conf /etc/redis/6379.conf

####执行注册chkconfig --add redis便不会报错了 ####启动服务service redis start

###Python ####安装Python相关包

pip install redis

####然后就可以使用了

import redis
r = redis.StrictRedis(host='localhost', port=6379, db=0)
r.set('foo', 'bar')
True
r.get('foo')

###Java 下载jedis的包 Github地址 https://github.com/xetorthio/jedis

import redis.clients.jedis.*

使用方法如下:

Jedis jedis = new Jedis("localhost");
jedis.set("foo", "bar");
String value = jedis.get("foo");

© 著作权归作者所有

拿客-三产
粉丝 110
博文 75
码字总数 121734
作品 0
丰台
程序员
私信 提问
Redis进阶实践之二如何在Linux系统上安装安装Redis

Redis进阶实践之二如何在Linux系统上安装安装Redis 一、引言 上一篇文章写了“如何安装VMware Pro虚拟机”和在虚拟机上安装Linux操作系统。那是第一步,有了Linux操作系统,我们才可以在该系...

morpheusWB
2018/09/13
0
0
Redis简介及Linux安装Redis

前言 本文主要内容: 1、简介redis,及使用的一些场景 2、linux安装redis 1、什么是Redis? redis是一个基于C语言编写的,支持网络,也可基于内存亦可持久化的日志型,Key-Value的数据库,提供...

LoveQueena
2018/05/12
0
0
Linux Redis 高可用之主从复制

Redis主从复制简介 和MySQL主从复制的原因一样,Redis虽然读取写入的速度都特别快,但是也会产生读压力特别大的情况。为了分担读压力,Redis支持主从复制,Redis的主从结构可以采用一主多从或...

我最喜欢三大框架
02/18
0
0
Linux 安装Redis 详细教程

在windows下使用redis只要下载解压后启动就可以了,但是在linux下和windows下还是有些区别的,下面我们详细看看linux下redis的安装、配置、使用过程。 一、环境说明 1.Linux 操作系统 本文使...

MaxBill
2018/09/10
0
0
Linux搭建Nodebb论坛指南-安装篇

[Nodebb][1]是一个很酷很简洁的论坛系统。基于nodejs,使用[socket.io][2]实现实时通信。socket.io的好处在于提供了多种传输实现作为消息传输的方式(支持的[传输方式][3]WebSocket,Flash,A...

bfleeee
2014/05/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Python猫荐书系列之七:Python入门书籍有哪些?

本文原创并首发于公众号【Python猫】,未经授权,请勿转载。 原文地址:https://mp.weixin.qq.com/s/ArN-6mLPzPT8Zoq0Na_tsg 最近,猫哥的 Python 技术学习群里进来了几位比较特殊的同学:一...

豌豆花下猫
30分钟前
2
0
一、容器(Containers)

在容器模型中,容器大致类似于VM。他们的主要不同之处在于,每个容器不需要自己完整的操作系统。事实上,所有单个主机上的容器共享整个操作系统。这就释放了大量的系统资源,如CPU、RAM和存储...

倪伟伟
39分钟前
3
0
Guava RateLimiter限流源码解析和实例应用

在开发高并发系统时有三把利器用来保护系统:缓存、降级和限流 缓存 缓存的目的是提升系统访问速度和增大系统处理容量 降级 降级是当服务出现问题或者影响到核心流程时,需要暂时屏蔽掉,待高...

算法之名
42分钟前
7
0
国产达梦数据库与MySQL的区别

背景 由于项目上的需要,把项目实现国产化,把底层的MySQL数据库替换为国产的达梦数据库,花了一周的时间研究了国产的数据库-达梦数据库,它和MySQL有一定的区别,SQL的写法也有一些区别。 ...

TSMYK
52分钟前
1
0
老也有错?35岁程序员是一道坎,横亘在每个技术职场人的心中

随着互联网的高速发展变革,大龄恐惧症越来越多地在技术圈被人讨论。很多程序员在工作5-10年以后,都会开始思考5年、10年甚至更久以后的自己,会是怎样一种生活工作状态,以及是否会被时代抛...

我最喜欢三大框架
58分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部