一:下载redis

官网地址:http://redis.io/

    如果系统没有安装make,请查看mysql篇
  1. wget http://download.redis.io/redis-stable.tar.gz
  2. tar xzf redis-stable.tar.gz
  3. cd redis-stable
  4. make MALLOC=libc
  5. make install
Redis默认支持16个数据库,不同的应用应该使用不同的Redis实例存储数据。由于Redis非常轻量级,一个空Redis实例占用的内存只有1MB左右,所以不用担心多个Redis实例会占用很多内存。

二、测试是否安装成功

注意:redis服务默认端口号是6379,请设置防火墙保持该端口可以访问,设置好后可以在客户端使用telnet命令测试

  1. telnet 172.19.32.xx 6379

启动redis服务

  1. redis-server
也可以使用下面的
  1. redis-server redis.conf

关闭服务
  1. redis-cli SHUTDOWN
(//停止Redis,Redis收到SHUTDOWN命令后,会先断开所有客户端连接,然后根据配置执行持久化,最后完成退出,“kill Redis进程PID”也可以正常结束)
使用客户端测试
  1. redis-cli -h 127.0.0.1 -p 6379
或者使用下面的命令测试
  1. redis-cli PING
如果接收到PONG说明一切正常,客户端请求收到服务端的响应。

参考:
http://blog.csdn.net/rachel_luo/article/details/8858250

三、redis配置系统服务
首先拷贝一份redis.conf,到/etc下,做为服务启动配置
  1. cp redis.conf /etc
配置启动init脚本(install的时候,redis的命令会被拷贝到/usr/local/bin下面)
  1. # chkconfig: 2345 90 10
  2. # description: Redis is a persistent key-value database
  3. PATH=/usr/local/bin:/sbin:/usr/bin:/bin
  4. REDISPORT=6379
  5. EXEC=/usr/local/bin/redis-server
  6. REDIS_CLI=/usr/local/bin/redis-cli
  7. PIDFILE=/var/run/redis.pid
  8. CONF="/etc/redis.conf"
  9. case "$1" in
  10. start)
  11. if [ -f $PIDFILE ]
  12. then
  13. echo "$PIDFILE exists, process is already running or crashed"
  14. else
  15. echo "Starting Redis server..."
  16. $EXEC $CONF
  17. fi
  18. if [ "$?"="0" ]
  19. then
  20. echo "Redis is running..."
  21. fi
  22. ;;
  23. stop)
  24. if [ ! -f $PIDFILE ]
  25. then
  26. echo "$PIDFILE does not exist, process is not running"
  27. else
  28. PID=$(cat $PIDFILE)
  29. echo "Stopping ..."
  30. $REDIS_CLI -p $REDISPORT SHUTDOWN
  31. while [ -x ${PIDFILE} ]
  32. do
  33. echo "Waiting for Redis to shutdown ..."
  34. sleep 1
  35. done
  36. echo "Redis stopped"
  37. fi
  38. ;;
  39. restart|force-reload)
  40. ${0} stop
  41. ${0} start
  42. ;;
  43. *)
  44. echo "Usage: /etc/init.d/redis {start|stop|restart|force-reload}" >&2
  45. exit 1
  46. esac
  47. ##############################

把上述代码存为redis,放到/etc/init.d/下面
可以使用下面的命令
  1. vi /etc/init.d/redis
然后把上面的代码拷贝上去,然后保存就可以了,然后设置文件的权限
  1. chmod +x /etc/init.d/redis
设置为开机启动(注意:redis文件中前两行注释代码是必须的,否则下面的命令会报:redis 服务不支持 chkconfig,错误)
  1. chkconfig redis on

启动停止服务
  1. service redis start #或者 /etc/init.d/redis start
  2. service redis stop #或者 /etc/init.d/redis stop
测试服务
  1. redis-cli
  2. redis 127.0.0.1:6379> set foo 123
  3. OK
  4. redis 127.0.0.1:6379> get foo
  5. "123"
  6. redis 127.0.0.1:6379> exit

 











Redis篇的更多相关文章

  1. [转至云风的博客]谈谈陌陌争霸在数据库方面踩过的坑( Redis 篇)

    « 谈谈陌陌争霸在数据库方面踩过的坑(芒果篇) | 返回首页 | linode 广告时间 » 谈谈陌陌争霸在数据库方面踩过的坑( Redis 篇) 注:陌陌争霸的数据库部分我没有参与具体设计,只是参与 ...

  2. 《【面试突击】— Redis篇》--Redis都有哪些数据类型?分别在哪些场景下使用比较合适?

    能坚持别人不能坚持的,才能拥有别人不能拥有的.关注编程大道公众号,让我们一同坚持心中所想,一起成长!! <[面试突击]— Redis篇>--Redis都有哪些数据类型?分别在哪些场景下使用 ...

  3. 《【面试突击】— Redis篇》-- Redis的线程模型了解吗?为啥单线程效率还这么高?

    能坚持别人不能坚持的,才能拥有别人未曾拥有的.关注编程大道公众号,让我们一同坚持心中所想,一起成长!! <[面试突击]— Redis篇>-- Redis的线程模型了解吗?为啥单线程效率还这 ...

  4. 《【面试突击】— Redis篇》-- Redis的主从复制?哨兵机制?

    能坚持别人不能坚持的,才能拥有别人未曾拥有的.关注左上角编程大道公众号,让我们一同坚持心中所想,一起成长!! <[面试突击]— Redis篇>-- Redis的主从复制?哨兵机制? 在这个 ...

  5. 《【面试突击】— Redis篇》-- Redis哨兵原理及持久化机制

    能坚持别人不能坚持的,才能拥有别人未曾拥有的.关注编程大道公众号,让我们一同坚持心中所想,一起成长!! <[面试突击]— Redis篇>-- Redis哨兵原理及持久化机制 在这个系列里, ...

  6. 《【面试突击】— Redis篇》--Redis Cluster及缓存使用和架构设计的常见问题

    能坚持别人不能坚持的,才能拥有别人未曾拥有的.关注编程大道公众号,让我们一同坚持心中所想,一起成长!! <[面试突击]— Redis篇>--Redis Cluster及缓存使用和架构设计的 ...

  7. Redis篇之操作、lettuce客户端、Spring集成以及Spring Boot配置

    Redis篇之操作.lettuce客户端.Spring集成以及Spring Boot配置 目录 一.Redis简介 1.1 数据结构的操作 1.2 重要概念分析 二.Redis客户端 2.1 简介 2 ...

  8. 分布式锁的实现之 redis 篇

    为什么需要分布式锁 引入经典的秒杀情景,100件商品供客户抢.如果是单机版的话,我们使用synchronized 或者 lock 都可以实现线程安全.但是如果多个服务器的话,synchronized ...

  9. Python自动化测试面试题-Redis篇

    目录 Python自动化测试面试题-经验篇 Python自动化测试面试题-用例设计篇 Python自动化测试面试题-Linux篇 Python自动化测试面试题-MySQL篇 Python自动化测试面试 ...

  10. 数据库之redis篇(3)—— Python操作redis

    虽然前面两篇已经说了redis的一些配置安装什么的,篇幅有点长,可能看完了也不知道怎么操作,这里再浓缩一下: 什么是redis redis完全开源免费的,遵守BSD协议,是一个高性能的非关系型key- ...

随机推荐

  1. python网络编程--线程Semaphore(信号量)

    一:Semaphore(信号量) 互斥锁 同时只允许一个线程更改数据,而Semaphore是同时允许一定数量的线程更改数据 ,比如厕所有3个坑,那最多只允许3个人上厕所,后面的人只能等里面有人出来了才 ...

  2. Bootstrap FileInput中文API文档

    Bootstrap FileInput中文API整理 这段时间做项目用到bootstrap fileinput插件上传文件,在用的过程中,网上能查到的api都不是很全,所以想着整理一份比较详细的文档, ...

  3. C++静态成员的应用

    当在类外部定义静态成员时,不能重复使用static关键字 静态成员函数不包含this指针(无论是显示还是隐式使用) 静态成员可以通过类对象进行访问,也可以通过类进行访问 静态成员不是由构造函数初始化的 ...

  4. Python 离线环境

    一.应用场景 比如:对于数据安全要求比较严格的机房,服务器是不允许上网的.那么我现在开发了一套python程序,需要一些模块,怎么运行? 二.离线包制作 有2个解决方案: 1. 使用requireme ...

  5. Tensorflow之训练MNIST(1)

    先说我遇到的一个坑,在下载MNIST训练数据的时候,代码报错: urllib.error.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FA ...

  6. mdb数据库文件如何导入Microsoft SQL Server 2008中

    1.在‘开始’菜单打开‘Microsoft SQL Server 2008→SQL Server Management Studio’. 2.新建一个数据库(名称自定义),选择新建的数据库点击右键选择 ...

  7. 容器计划任务大坑:在alpine容器里,想用非root帐号执行crontab任务

    我只能说抱歉,我前前后后测试了七天, 将自己预想的配置错误,一个一个去验证. 非root帐号在alpine容器里执行crontab任务,还是失败, 输出依旧是一片空白~ stackoverflow里, ...

  8. 为django的python manage.py加自定义命令

    计划在开发软件的过程中, 每次可以自己加入测试数据,这样就可以每次作全新的测试了. 将这个初始化django modules数据命令,将在manage.py里是最合适的. 下面我们就来实现吧. 参考文 ...

  9. bzoj 2752

    2752 思路: 线段树: 代码: #include <cstdio> #include <cstring> #include <iostream> #includ ...

  10. 【LOJ】#2497. 「PA 2017」Banany

    题解 一眼就是线段树维护点分树的dfs序嘛 代码debug一年(手动再见) 码力直线下降,坐等滚粗= = 很明显的我们需要一个点分树,然后求出以每个重心为根的树的dfs序,线段树维护一下每个点的价值- ...