Redis编译安装和saltstack简单配置

分布式存储之-Redis
redis常用于数据库读缓存和写缓存,通常写缓存需要考虑到数据一致性的问题,读缓存应用较多
redis是一个开源的,使用c语言编写的,支持网络交互的,可基于内存也可持久化的key-value数据库

 

目前国内最大的redis集群--新浪微博

redis和memcached对比


[root@yum-down local]# wget http://download.redis.io/releases/redis-3.0.7.tar.gz
[root@yum-down local]# tar xf redis-3.0.7.tar.gz
[root@yum-down local]# cd redis-3.0.7
[root@yum-down redis-3.0.7]# make PREFIX=/usr/local/redis install
[root@yum-down utils]# cp redis_init_script /etc/init.d/redis
[root@yum-down utils]# chmod +x /etc/init.d/redis
修改脚本中的安装路径

[root@yum-down utils]# vim /etc/init.d/redis
EXEC=/usr/local/redis/bin/redis-server
CLIEXEC=/usr/local/redis/bin/redis-cli
创建配置文件路径,并复制配置文件以端口号命名

[root@yum-down redis-3.0.7]# mkdir /etc/redis
[root@yum-down redis-3.0.7]# cp /usr/local/redis-3.0.7/redis.conf /etc/redis/6379.conf
第一次启动,如果没有修改是启动在前台页面

[root@yum-down ~]# /etc/init.d/redis start
Starting Redis server...
5228:M 24 Feb 07:16:27.342 * Increased maximum number of open files to 10032 (it was originally set to 1024).
                _._                                                 
           _.-``__ ''-._                                            
      _.-``    `.  `_.  ''-._           Redis 3.0.7 (00000000/0) 64 bit
  .-`` .-```.  ```\/    _.,_ ''-._                                  
 (    '      ,       .-`  | `,    )     Running in standalone mode
 |`-._`-...-` __...-.``-._|'` _.-'|     Port: 6379
 |    `-._   `._    /     _.-'    |     PID: 5228
  `-._    `-._  `-./  _.-'    _.-'                                  
 |`-._`-._    `-.__.-'    _.-'_.-'|                                 
 |    `-._`-._        _.-'_.-'    |           http://redis.io       
  `-._    `-._`-.__.-'_.-'    _.-'                                  
 |`-._`-._    `-.__.-'    _.-'_.-'|                                 
 |    `-._`-._        _.-'_.-'    |                                 
  `-._    `-._`-.__.-'_.-'    _.-'                                  
      `-._    `-.__.-'    _.-'                                      
          `-._        _.-'                                          
              `-.__.-'                                              

5228:M 24 Feb 07:16:27.344 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
5228:M 24 Feb 07:16:27.344 # Server started, Redis version 3.0.7
5228:M 24 Feb 07:16:27.344 # 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.
5228:M 24 Feb 07:16:27.344 # 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.
5228:M 24 Feb 07:16:27.344 * The server is now ready to accept connections on port 6379
^C5228:signal-handler (1456327043) Received SIGINT scheduling shutdown...
5228:M 24 Feb 07:17:23.607 # User requested shutdown...
5228:M 24 Feb 07:17:23.607 * Saving the final RDB snapshot before exiting.
5228:M 24 Feb 07:17:23.611 * DB saved on disk
5228:M 24 Feb 07:17:23.611 # Redis is now ready to exit, bye bye...
修改配置文件‘daemonize 改为yes’

[root@yum-down ~]# vim /etc/redis/6379.conf
daemonize yes
修改pid和/etc/init.d/redis中的pid一致

pidfile /var/run/redis_6379.pid
[root@yum-down ~]# /etc/init.d/redis start
Starting Redis server...
[root@yum-down ~]# netstat -ntlp |grep redis
tcp        0      0 0.0.0.0:6379                0.0.0.0:*                   LISTEN      5235/redis-server
tcp        0      0 :::6379                     :::*                        LISTEN      5235/redis-server
关闭测试

[root@yum-down ~]# service redis stop
Stopping ...
Redis stopped
[root@yum-down ~]#
做一个软连接启动:

[root@yum-down ~]# ln -s /usr/local/redis/bin/redis-cli /usr/local/bin/redis-cli               
[root@yum-down ~]# redis-cli
127.0.0.1:6379>
由于redis是单线程,只能使用一个cpu,可以启动多个,则可以指定ip和端口

[root@yum-down ~]# redis-cli -h 10.10.0.250 -p 6379
10.10.0.250:6379>
简单的使用:
set插入字符串,get查看

[root@yum-down ~]# redis-cli -h 10.10.0.250 -p 6379
10.10.0.250:6379> set keyname hello
OK
10.10.0.250:6379> get keyname
"hello"
10.10.0.250:6379>
过滤:
显示所有

10.10.0.250:6379> keys *
1) "keya"
2) "keyna"
3) "keyname1"
4) "keyname"
匹配keyname开头

10.10.0.250:6379> keys keyname?
1) "keyname2"
2) "keyname1"
10.10.0.250:6379>
判断key是否存在,0不存在,非0则存在,表示数量

10.10.0.250:6379> EXISTS keya
(integer) 1
10.10.0.250:6379> EXISTS keya1
(integer) 0
10.10.0.250:6379>
删除:0不存在,非0则存在,表示数量

10.10.0.250:6379> DEL keya
(integer) 1
10.10.0.250:6379> DEL keya
(integer) 0
10.10.0.250:6379>
info:

# Keyspace
db0:keys=2,expires=0,avg_ttl=0
db0:实例
如下:SELECT 1和2两个实例,分别插入数据

10.10.0.250:6379[2]> SELECT 1
OK
10.10.0.250:6379[1]> SELECT 2
OK
10.10.0.250:6379[2]> SET 1 1
OK
10.10.0.250:6379[2]> SELECT 1
OK
10.10.0.250:6379[1]> SET 1 1
OK
在使用info查看就有了1和2的实例

# Keyspace
db0:keys=2,expires=0,avg_ttl=0
db1:keys=1,expires=0,avg_ttl=0
db2:keys=1,expires=0,avg_ttl=0
flushall可清空所有实例

10.10.0.250:6379[1]> flushall
keys:key数量
expires:过期数量
avg_ttl:ttl数量

简单的配置文件说明:

[root@yum-down ~]# egrep -v  "^#|^$" /etc/redis/6379.conf
daemonize yes  前后台启动
pidfile /var/run/redis.pid pid位置
port 6379  端口
logfile ""   日志
dir ./ 启动的目录
[root@yum-down ~]#
redis-saltstack配置
1,复制安装包到salt/redis/files/
2,复制配置文件到salt/redis/files/
3, 复制启动脚本到salt/redis/files/目录下,没有则创建;top中指定即可
install.sls如下:

  file.managed:
    - name: /usr/local/src/redis-3.0.7.tar.gz
    - source: salt://redis/files/redis-3.0.7.tar.gz
    - user: root
    - group: root
    - mode: 755
cmd.run:
    - name: cd /usr/local/src && tar xf redis-3.0.7.tar.gz && cd redis-3.0.7 && PREFIX=/usr/local/redis install
    - unless: test -d /usr/local/redis
redis-config:
  file.managed:
    - name: /etc/redis/6379.conf
    - spurce: salt://redis/files/6379.conf
    - user: root
    - group: root
    - mode: 644
redis-service:
  file.managed:
    - name: /etc/init.d/redis
    - source: salt://redis/files/redis.init
    - user: root
    - group: root
    - mode: 755
  cmd.run
    - name: chkconfig --add redis && chkconfig redis on
    - unless: chkconfig --list |grep redis
  service.runnig:
    - name: redis
    - emable: True
    - watch:
      - file: redis-config
    - require:
      - cmd: redis-install
      - cmd: redis-service

时间: 2024-08-04 14:03:04

Redis编译安装和saltstack简单配置的相关文章

Linux系统下自行编译安装MySQL及基础配置全过程解析_Mysql

安装依赖: CentOS: # yum -y install wget gcc-c++ cmake make bison ncurses-devel perl unzip Ubuntu:(使用ubuntu下面有不少需要root权限,请注意) 复制代码 代码如下: # sudo apt-get install -y g++ gcc make libpcre3 zlib1g libbz2-dev automake cmake perl libncurses5-dev bison 添加MySQL系统用

linux中编译安装Varnish3.03及配置

这是关于Varnish3.03编译安装配置的笔记 安装  代码如下 复制代码 yum -y install gcc gcc-c++ file bison patch unzip mlocate flex wget diffutils automake autoconf kernel-devel gd cpp readline-devel openssl openssl-devel vim-minimal nano libjpeg libjpeg       -devel libpng libpn

MySQL的编译安装、部署与配置

MySQL是最流行的开源数据库,而PostgreSQL是最先进的开源数据库.虽然我现在自己已经全面投入PostgreSQL的怀抱中了,但是还有许多迷途的羔羊执迷不悟,或者无力抽身,不求上进,满足于MySQL.所以目前来看还有是有MySQL的使用需求的.本文描述了*nix下MySQL的源码安装方法. 从源码编译安装MySQL tar -zxvf mysql-5.7.9-osx10.10-x86_64.tar.gz mv mysql-5.7.9-osx10.10-x86_64 /usr/local/

redis编译安装

1.使用winscp将windows下的redis的压缩包复制到虚拟机的centos6中, 2.解压redis压缩包,并重命名为redis,移动到/usr/local/下 #tar -xzvf redis-2.8.3.tar.gz  #cp -r redis-2.8.3 /usr/local/ #mv redis-2.8.3 redis 3.切换工作目录到redis下,打开README文件,按照文件中的步骤安装redis #cd /usr/local/redis/ #vim README 4.编

squid3缓存服务器编译安装和高命中率配置示例_服务器其它

今天对我的varnish进行了下小小的压力测试,40s里的8000并发,没有失败一个,估计还可以承受更大的并发,先不说varnish了,我最近找到个命中率很高的squid的配置文件,当然是squid3.0的配置文件,有需要的可以copy回去自己改. 系统:centos 5.x 需要的软件:squid-3.0.STABLE25.tar.gz 1.下载squid 复制代码 代码如下: wget http://www.squid-cache.org/Versions/v3/3.0/squid-3.0.

CentOS6.3编译安装redis方法图解

Redis是一个key-value存储系统.Redis是一个开源.支持网络.基于内存.键值对存储数据库,使用ANSI C编写.和Memcached类似,但和Memcached最大的区别就是一个只是暂时缓存,一个是可以永久缓存,至少我的理解是这样的哈.我也刚刚开始接触,希望各位友友指点. 下面就来安装Redis试试看, 环境:CentOS release 6.3 (Final)+Redis-2.8.10 cd /usr/local/src wget http://download.redis.io

64位centos 5.6编译安装vsftpd-2.3.4的两种用户登录配置

服务器搭建FTP是首要的任务了.虚拟用户登录比本地用户登录安全系数高.因为vsftpd虚拟用户,并不是系统的账号,也就仅用来支持Vsftpd服务用,因此没有许可他登陆系统的必要,比直接设定本地用户登录账号为登陆系统的用户安全性高. 一.文章要点: 1.64位系统下使用了PAM数据方式的虚拟用户配置 2.修改关键脚本,是编译成功通过.必要步骤,详细安装配置说明过程. 3.完全配置实例,Centos5.6编译安装vsftpd-2.3.4(配置本地用户登录.虚拟用户登录) 下载 wget http:/

使用wok kimchi插件管理kvm(编译安装)

对于KVM(kernel-based virtual machine)大家并不陌生,它是基于内核的虚拟机,在测试或者生产环境中经常用到,由于管理起来不是很方便,我在这里推荐一个kvm web管理工具. 什么是Wok? Wok基于cherrypy的web框架,可以通过一些插件来进行扩展,例如:虚拟化管理.主机管理.系统管理.它可以在任何支持HTML5的网页浏览器中运行. 什么是Kimchi? Kimchi是一个基于HTML5的KVM管理工具,是Wok的一个插件(使用Kimchi前一定要先安装了wo

linux下编译安装Redis以及主从配置步骤

Redis的安装配置很简单,而且很早之前就装过Redis,可这几天再次安装时居然又遗忘了一些细节,看来好记性不如烂笔头,还是在博客记录一下比较好,至少不用总是抱度娘大腿了. 今天编译安装了几次,发现居然没在prefix指定目录生成文件??看了半天结果发现PREFIX我用了小写字母... 看来还是得记录一次正确的操作步骤,免得再次出现这种窘迫. redis 一.选择版本 前往官方网站:http://www.redis.io/download 选择一个适合的稳定版本,比如最新的redis-3.0稳定