怎么设置主从应用服务器,linux redis基础应用 主从服务器配置(示例代码)

本文详细介绍了Redis的基础应用,包括其内存、磁盘和日志文件的配置,以及与memcached的区别。此外,还讲解了Redis的key-value存储、数据类型如字符串、列表、集合和哈希表的操作,并探讨了Redis的主从同步和配置文件解析。最后,文章涵盖了服务器设置、内存策略和最大内存限制等高级应用。
摘要由CSDN通过智能技术生成

Redis基础应用

redis是一个开源的可基于内存可持久化的日志型,key-value数据库

redis的存储分为内存存储,磁盘存储和log文件三部分

配置文件中有三个参数对其进行配置

优势:

和memcached相比,它支持存储的value类型相对更多,

包括strings,lists,zsets(sorted set)和hashes

redis会周期性的吧更新的数据写入磁盘或者把修改操作写入追加的记录文件

并且在此基础上实现了master-slave(主从)同步

redis服务器

服务器程序:redis-server

客户端程序:redis-cli

主配置文件:/etc/redis/redis_portnumber

启动脚本:/root/redis-3.0.6/utils install_server.sh

部署redsi

[[email protected] ~]# yum -y install gcc

[[email protected] ~]# tar -xf redis-3.0.6.tar.gz

[[email protected] ]# cd redis-3.0.6

[[email protected] redis-3.0.6]# make

[[email protected] redis-3.0.6]# make install

[[email protected] utils]# ./install_server.sh(启动)

Port : 6379

Config file : /etc/redis/6379.conf

Log file : /var/log/redis_6379.log

Data dir : /var/lib/redis/6379

Executable : /usr/local/bin/redis-server

Cli Executable : /usr/local/bin/redis-cli

[[email protected] ~]# redis-cli (测试服务器)

127.0.0.1:6379> ping

PONG

[[email protected] ~]# redis-cli

127.0.0.1:6379> set hydra xxx(写数据)

OK

127.0.0.1:6379> get hydra(查数据)

"xxx"

——————————————————————————————————————————————

数据库操作指令

string字符串操做

set name value [ex seconds] [px milliseconds] [nx|xx]:设置name及value,过期时间可以设置为秒或毫秒为单位

nx只有name不存在,才对name进行操作

xx只有name存在,才对name进行操作

。。。。。。。。

STRLEN name:统计字串长度

append name value:字符存在则追加,不存在则创建

setbit name offset value:对name所存储字串,设置或清除特定偏移量上的位(bit)

bitcount name:统计字串中被设置为1的比特位数量

decr name:将name中的值减1,name不存在则先初始化为0,再减1

incr name:将name的值加1,如果name不存在,则初始化为0后再加上1,主要应用为计数器

getrange name start end:返回字串值中的子字串,截取范围为start和end

getbit name offset:对name中的值,获取偏移量上的位,offset比字串长度大,或name不存在,则返回0

incrbyfloat name increment:为naem中所存储的值加上浮点数增量 increment

mget name name2:可以获取多个值

mset naem name2:可以设置多个值

Hash表

redis hash是一个string类型的field和value的映射表

一个name可对应多个filed,一个field(列)对应一个value(值)

将一个对象存储为hash类型,较于每个字段都存储成string类型更能节省内存

hmset name 列1 值1 列2 值2;同时给hash表中的多个列赋值

hget name 列;获取hash表中列的值

hsetnx name 列 值;当列不存在时,给hash表的列赋值

keys *;查看所有数据

list列表(先进后出)

redis的list是一个字符队列,一个key可以有多个值

list列表操作(具体操作参考手册)

lpush name value [value。。。]:将一盒或多个值value插入到表name的表头,name不存在,则创建name

127.0.0.1:6379> lpush xx a b c(list1值依次为c b a)

lrange name start stop:从开始位置读取到name的值到stop结束

127.0.0.1:6379> LRANGE xx 0 -1

1) "c"

2) "b"

3) "a"

lpushx name value:仅当name存在,则向name中插入一个值,否则返回空

lpop name:移除并返回列表头元素数据,name不存在则返回nil

llen name:返回列表name的长度

set集合简介

set类型是没有排序的字符集合,和list类型一样,可以在该类型的数据值上执行添加

删除等操作

和list类型不同的是,set集合中不允许出现重复的元素,

具体操作参考redis手册

————————————————————————————————————————————————————————————

redis高级应用

服务器设置

配置文件解析

[[email protected] ~]# vim /etc/redis/6379.conf

maxmemory :最大内存

maxmemory-policy volatile-lru:内存满时,使用lur算法清理旧数据

daemonize yes:守护进程

pidfile /va/run/redis_6379.pid:进程pid

port 6379:端口号

timeout 300:链接超时时间

loglevel notice:日志级别

logfile /var/log/redis_6379.log:日志文件

databases 16:数据库个数

save 900 1:数据库镜像频率

dbfilename dump.rdb:镜像备份文件名

/va/lib/redis/6379:备份文件路径

save 900 1

save 300 10

save 60 10000

注释:如果有10000个keys变化则镜像备份

否则,如果有300秒内有10个keys变化则镜像备份

否则,如果有900秒内有1个key变化则镜像备份

slaveof :设置主服务器ip及端口,主动与主服务器同步数据

masterauth :主从认证密码

requirepass foobared:客户端连接服务器后需要先输入密码,在做其他操作

maxclients 10000:最大客户端并发连接数量

maxmemory :最大内存使用量

主服务器操作:

安装部署软件

[[email protected] lnmp_soft]# tar -xf redis-3.0.6.tar.gz

[[email protected] lnmp_soft]# cd redis-3.0.6

[[email protected] redis-3.0.6]# make

[[email protected] redis-3.0.6]# make install

[[email protected] redis-3.0.6]# ./utils/install_server.sh(初始化)

修改配置文件

[[email protected] redis-3.0.6]# vim /etc/redis/6379.conf

requirpass 123456(创建主服务器密码)

[[email protected] redis]# vim /etc/init.d/redis_6379(修改启动脚本)

$CLIEXEC -a 123456 -p $REDISPORT shutdown(-a 密码)

[[email protected] redis-3.0.6]# /etc/init.d/redis_6379 restart

从服务器操作

从服务器默认不支持写数据,只读

[[email protected] lnmp_soft]# tar -xf redis-3.0.6.tar.gz

[[email protected] lnmp_soft]# cd redis-3.0.6

[[email protected] redis-3.0.6]# make

[[email protected] redis-3.0.6]# make install

[[email protected] redis-3.0.6]# ./utils/install_server.sh(初始化)

修改配置文件

[[email protected] redis-3.0.6]# vim /etc/redis/6379.conf

slaveof 192.168.2.100 6379 (主服务器ip 端口)

masterauth 123456(主服务器密码)

[[email protected] redis-3.0.6]# /etc/init.d/redis_6379 restart

——————————————————————————————————————————————————

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值