Redis基本安装和配置详解

Redis基本安装和配置详解

1.安装

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

编译安装:

tar xf redis-3.2.3.tar.gz
cd redis-3.2.3
make && make install

配置:

mkdir /etc/redis 建立配置文件存放目录
cp -a redis.conf /etc/redis/6379.conf 复制配置文件
cp -a utils/redis_init_script /etc/init.d/redis 复制启动脚本
mkdir -p /home/redis-home 建立数据存放目录
ip=`ip addr show eth0 | grep eth0 | grep inet | cut -d" " -f 6 | cut -d"/" -f 1` 获取接口ip
sed -i "s/^bind.*$/bind 127.0.0.1 $ip/" /etc/redis/6379.conf 配置bind绑定ip地址
sed -i 's/^daemonize no/daemonize yes/' /etc/redis/6379.conf 配置开机启动为yes
sed -i 's/^dir .\//dir \/home\/redis-home/' /etc/redis/6379.conf 配置数据存放文件为建立的redis-home目录
sed -i '3i# chkconfig: - 86 14\n# descript: redis init script' /etc/init.d/redis 配置启动文件加入chkconfig描述

启动:

  chkconfig --add redis 配置reids加入开机启动
chkconfig redis on 配置redis开机启动
service redis start 启动redis
dbsize 测试redis是否正常工作  
service redis stop 关闭redis

2.redis.conf

daemonize yes    是否以后台程序运行,默认no
pidfile /var/run/redis.pid    后台运行,需要制定pid
port 6379    默认监听端口6379
timeout 0    链接超时时间
loglevel notice    日志等级,debug,verbose,notice,warning
logfile ""    输出日志文件,'stdout'标志输出,如果以后台运行,输出到/dev/null
# syslog-enabled no    是否输出到系统日志
# syslog-ident redis    系统日志标识符
# syslog-facility local0   
databases 16    设置数据库数目
save 900 1
save 300 10
save 60 10000    过了900s并且有1个key发生改变,就会触发save动作
rdbcompression yes    存储数据时是否压缩数据,默认yes
dbfilename dump.rdb    保存dump数据的文件名
dir ./    工作目录,必须是目录而不是文件
slaveof <masterip> <masterport>    slaveof把一个redis实例设置为另一个redis的从库
masterauth <master-password>   
slave-serve-stale-data yes    
# requirepass foobared    指定需要密码登录
# maxclients 10000    连接最大数限制,建议不限制
# maxmemory <bytes>    使用最大内存限制,建议不限制
# maxmemory-policy noeviction    默认配置:volatile-lru:使用lRUnning算法来删除过去的set ,allkeys-lru 删除任何遵循LRU算法的key,volatile-random,随机删除过期的set中的key,allkeys-random,随机删除一个key,volatile-ttl,删除最近即将过期的key.noeviction,根本不过期,写操作报错
appendonly no    开启该模式后,会把每一个操作记录在appendonly.aof文件中,在redis重启时被读取到内存中重新构建数据库
appendfilename "appendonly.aof"   
# appendfsync always
appendfsync everysec
# appendfsync no    no:不fsync, 只是通知OS可以flush数据了,具体是否flush取决于OS.性能更好.
always: 每次写入append only 日志文件后都会fsync . 性能差,但很安全.
everysec: 没间隔1秒进行一次fsync. 折中
no-appendfsync-on-rewrite no   
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb    append only 文件的自动重写,为0时关闭重写,
slowlog-log-slower-than 10000    负数则关闭slow log,0则会导致每个命令都被记录
slowlog-max-len 128   
REDIS CLUSTER  

redis基本数据类型

String redis最基本的类型,可以是任意类型的字符串,也可以是数字

SET 赋值,用法:  SET key value
GET 取值,用法:  GET key
INCR 递增数字,仅仅对数字类型的键有用,相当于Java的i++运算,用法:  INCR key
INCRBY 增加指定的数字,仅仅对数字类型的键有用,相当于Java的i+=3,用法: INCRBY key increment ,意思是key自增increment,increment可以为负数,表示减少。
DECR 递减数字,仅仅对数字类型的键有用,相当于Java的i–,用法: DECR key
DECRBY 减少指定的数字,仅仅对数字类型的键有用,相当于Java的i-=3,用法: DECRBY key decrement ,意思是key自减decrement,decrement可以为正数,表示增加。
INCRBYFLOAT 增加指定浮点数,仅仅对数字类型的键有用,用法: INCRBYFLOAT key increment
APPEND 向尾部追加值,相当于Java中的”hello”.append(“ world”),用法: APPEND key value
STRLEN 获取字符串长度,用法: STRLEN key
MSET 同时设置多个key的值,用法: MSET key1 value1 [key2 value2 ...]
MGET 同时获取多个key的值,用法: MGET key1 [key2 ...]
Hash  多个key-value对的集合,可以用来存储对象,相当于Java中的HashMap<String,String>

HSET 赋值,用法: HSET key field value
HMSET 一次赋值多个字段,用法: HMSET key field1 value1 [field2 values]
HGET 取值,用法: HSET key field
HMGET 一次取多个字段的值,用法: HMSET key field1 [field2]
HGETALL 一次取所有字段的值,用法: HGETALL key
HEXISTS 判断字段是否存在,用法: HEXISTS key field
HSETNX 当字段不存在时赋值,用法: HSETNX key field value
HINCRBY 增加数字,仅对数字类型的值有用,用法: HINCRBY key field increment
HDEL 删除字段,用法: HDEL key field
HKEYS 获取所有字段名,用法: HKEYS key
HVALS 获取所有字段值,用法: HVALS key
HLEN 获取字段数量,用法: HLEN key
List 双向链表

LPUSH 向列表左端添加元素,用法: LPUSH key value
RPUSH 向列表右端添加元素,用法: RPUSH key value
LPOP 从列表左端弹出元素,用法: LPOP key
RPOP 从列表右端弹出元素,用法: RPOP key
LLEN 获取列表中元素个数,用法: LLEN key
LRANGE 获取列表中某一片段的元素,用法: LRANGE key start stop ,index从0开始,-1表示最后一个元素
LREM 删除列表中指定的值,用法: LREM key count value ,删除列表中前count个值为value的元素,当count>0时从左边开始数,count<0时从右边开始数,count=0时会删除所有值为value的元素
LINDEX 获取指定索引的元素值,用法: LINDEX key index
LSET 设置指定索引的元素值,用法: LSET key index value
LTRIM 只保留列表指定片段,用法: LTRIM key start stop ,包含start和stop
LINSERT 像列表中插入元素,用法: LINSERT key BEFORE|AFTER privot value ,从左边开始寻找值为privot的第一个元素,然后根据第二个参数是BEFORE还是AFTER决定在该元素的前面还是后面插入value
RPOPLPUSH 将元素从一个列表转义到另一个列表,用法: RPOPLPUSH source destination
Set  内部实现是一个 value为null的HashMap,相当于Java中的HashSet<String>

SADD 添加元素,用法: SADD key value1 [value2 value3 ...]
SREM 删除元素,用法: SREM key value2 [value2 value3 ...]
SMEMBERS 获得集合中所有元素,用法: SMEMBERS key
SISMEMBER 判断元素是否在集合中,用法: SISMEMBER key value
SDIFF 对集合做差集运算,用法: SDIFF key1 key2 [key3 ...] ,先计算key1和key2的差集,然后再用结果与key3做差集
SINTER 对集合做交集运算,用法: SINTER key1 key2 [key3 ...]
SUNION 对集合做并集运算,用法: SUNION key1 key2 [key3 ...]
SCARD 获得集合中元素的个数,用法: SCARD key
SDIFFSTORE 对集合做差集并将结果存储,用法: SDIFFSTORE destination key1 key2 [key3 ...]
SINTERSTORE 对集合做交集运算并将结果存储,用法: SINTERSTORE destination key1 key2 [key3 ...]
SUNIONSTORE 对集合做并集运算并将结果存储,用法: SUNIONSTORE destination key1 key2 [key3 ...]
SRANDMEMBER 随机获取集合中的元素,用法: SRANDMEMBER key [count] ,当count>0时,会随机中集合中获取count个不重复的元素,当count<0时,随机中集合中获取|count|和可能重复的元素。
SPOP 从集合中随机弹出一个元素,用法: SPOP key
Sorted Set 有序的set类型

ZADD 添加元素,用法: ZADD key score1 value1 [score2 value2 score3 value3 ...]
ZSCORE 获取元素的分数,用法: ZSCORE key value
ZRANGE 获取排名在某个范围的元素,用法: ZRANGE key start stop [WITHSCORE] ,按照元素从小到大的顺序排序,从0开始编号,包含start和stop对应的元素,WITHSCORE选项表示是否返回元素分数
ZREVRANGE 获取排名在某个范围的元素,用法: ZREVRANGE key start stop [WITHSCORE] ,和上一个命令用法一样,只是这个倒序排序的。
ZRANGEBYSCORE 获取指定分数范围内的元素,用法: ZRANGEBYSCORE key min max ,包含min和max, (min 表示不包含min, (max 表示不包含max, +inf 表示无穷大
ZINCRBY 增加某个元素的分数,用法: ZINCRBY key increment value
ZCARD 获取集合中元素的个数,用法: ZCARD key
ZCOUNT 获取指定分数范围内的元素个数,用法: ZCOUNT key min max ,min和max的用法和5中的一样
ZREM 删除一个或多个元素,用法: ZREM key value1 [value2 ...]
ZREMRANGEBYRANK 按照排名范围删除元素,用法: ZREMRANGEBYRANK key start stop
ZREMRANGEBYSCORE 按照分数范围删除元素,用法: ZREMRANGEBYSCORE key min max ,min和max的用法和4中的一样
ZRANK 获取正序排序的元素的排名,用法: ZRANK key value
ZREVRANK 获取逆序排序的元素的排名,用法: ZREVRANK key value

时间: 2025-01-20 13:16:54

Redis基本安装和配置详解的相关文章

持续集成(CI)工具------Hudson/Jenkins(Continuous Integration)安装与配置详解

本文允许转载,但请标明出处:http://blog.csdn.net/wanghantong/article/40985653/, 版权所有 文章概述: 一. 描述了持续集成工具Hudson的安装与配置 二. 描述了Git .Maven环境的安装与配置 三. 描述了扩展邮件通知及其配置方法 四. 描述了jira的配置 一.Hudson简介 Hudson是Jenkins的前身,是基于Java开发的一种持续集成工具,用于监控持续的软件版本发布/测试项目 下载地址:http://eclipse.org

CentOS中vsftp安装与配置详解_Linux

一般我们在安装完系统后都会自动安装了vsftp服务了,但是有时候还是得需要自己动手的,比如这两天就在给我朋友配置了一下,顺手把过程记录下来,以便需要的时候查阅或者给需要的朋友提供方便:) 1. 安装 使用chkconfig --list来查看是否装有vsftpd服务: 使用yum命令直接安装: yum -y install vsftpd 然后为它创建日志文件: touch /var/log/vsftpd.log 这样简单的两个命令就完成了vsftp的安装,但是如果你现在想这样ftp://your

PHP MySQL的安装与配置详解_Mysql

 一.安装配置PHP 1.下载Php的版本zip包之后,解压缩到指定目录.下载地址:http://www.php.net/downloads.php 2.在Apache的httpd.conf文件中加入以下 #Php模块加载 LoadModule php5_module "D:/Software/GreenSoft/Php/php5.4.6/php5apache2_2.dll" #php.ini路径设置 PHPIniDir "D:/Software/GreenSoft/Php/

Windows和Linux中php代码调试工具Xdebug的安装与配置详解_php实例

一.为什么需要Debugger? 很多PHP程序员调试使用echo.print_r().var_dump().printf()等,其实对 于有较丰富开发经验的程序员来说这些也已经足够了,他们往往可以在程序执行的过程中,通过输出特定变量的值可以判断程序执行是否正确,甚至效率高低也可以 看出来(当然可能还需要使用一些时间函数).那么我们为什么还需要一个专门的调试程序来监控我们的程序运行呢? 这个问题的答案不妨留到后面来揭晓. 二.什么是Xdebug? Xdebug是一个开放源代码的PHP程序调试器(

centos下fail2ban安装与配置详解_Linux

一.fail2ban简介 fail2ban可以监视你的系统日志,然后匹配日志的错误信息(正则式匹配)执行相应的屏蔽动作(一般情况下是防火墙),而且可以发送e-mail通知系统管理员,是不是很好.很实用.很强大! 二.简单来介绍一下fail2ban的功能和特性 1.支持大量服务.如sshd,apache,qmail,proftpd,sasl等等2.支持多种动作.如iptables,tcp-wrapper,shorewall(iptables第三方工具),mail notifications(邮件通

CentOS6.6 vsFTP安装与配置详解

CentOS6.6 vsFTP安装与配置 第一步:安装vsftp pam db4 yum install vsftpd pam* db4* -y 使用命令将vsftp配置为系统服务 chkconfig --level 35 vsftpd on 第二步:配置vsftpd服务的宿主 #useradd vsftpd -s /sbin/nologin 这个vsftpd只是用来替换root的,并不需要登录 第三步:建立ftp虚拟宿主帐户 #useradd ftpuser -s /sbin/nologin

Hadoop服务器集群HDFS 安装与配置详解

简单的描述一下这些系统: HBase – Key/Value的分布式数据库 Zookeeper – 支撑分布式应用的协作系统 Hive – SQL解析引擎 Flume – 分布式的日志收集系统 一.相关环境说明: s1: hadoop-master namenode,jobtracker; secondarynamenode; datanode,taskTracker s2: hadoop-node-1 datanode,taskTracker; s3: hadoop-node-2 dataNo

CentOS6.6系统中vsFTP安装与配置详解

第一步:安装vsftp pam db4 yum install vsftpd pam* db4* -y 使用命令将vsftp配置为系统服务 chkconfig --level 35 vsftpd on 第二步:配置vsftpd服务的宿主 #useradd vsftpd -s /sbin/nologin 这个vsftpd只是用来替换root的,并不需要登录 第三步:建立ftp虚拟宿主帐户 #useradd ftpuser -s /sbin/nologin 这ftpuser只个虚拟帐户的宿主,本身是

MySql 5.7.18 数据库主从(Master/Slave)同步安装与配置详解

MySql复制的优点: 1.如果主服务器出现问题,可以快速切换到从服务器提供的服务 2.可以在从服务器上执行查询操作,降低主服务器的访问压力 3.可以在从服务器上执行备份,以避免备份期间影响主服务器的服务 注意:一般只有更新不频繁的数据或者对实时性要求不高的数据可以通过从服务器查询,实时性要求高的数据仍然需要从主服务器获得. 1.测试环境 操作系统 :Windows 7 32位操作系统(安装双数据库端口分别为3306.3308) 数据库版本:MySQL 5.7.18 主机A:192.168.1.