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
[root@web ~]# yum -y install gcc
[root@web ~]# tar -xf redis-3.0.6.tar.gz
[root@web ]# cd redis-3.0.6
[root@web redis-3.0.6]# make
[root@web redis-3.0.6]# make install
[root@web 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
[root@web ~]# redis-cli (测试服务器)
127.0.0.1:6379> ping
PONG
[root@web ~]# 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高级应用

服务器设置

配置文件解析
[root@web ~]# vim /etc/redis/6379.conf
maxmemory <bytes>:最大内存
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 <masterip> <masterport>:设置主服务器ip及端口,主动与主服务器同步数据
masterauth <master-password>:主从认证密码
requirepass foobared:客户端连接服务器后需要先输入密码,在做其他操作
maxclients 10000:最大客户端并发连接数量
maxmemory <bytes>:最大内存使用量

主服务器操作:
安装部署软件
[root@web lnmp_soft]# tar -xf redis-3.0.6.tar.gz
[root@web lnmp_soft]# cd redis-3.0.6
[root@web redis-3.0.6]# make
[root@web redis-3.0.6]# make install
[root@web redis-3.0.6]# ./utils/install_server.sh(初始化)
修改配置文件
[root@web redis-3.0.6]# vim /etc/redis/6379.conf
requirpass 123456(创建主服务器密码)
[root@web redis]# vim /etc/init.d/redis_6379(修改启动脚本)
$CLIEXEC -a 123456 -p $REDISPORT shutdown(-a 密码)
[root@web redis-3.0.6]# /etc/init.d/redis_6379 restart

从服务器操作
从服务器默认不支持写数据,只读
[root@web2 lnmp_soft]# tar -xf redis-3.0.6.tar.gz
[root@web2 lnmp_soft]# cd redis-3.0.6
[root@web2 redis-3.0.6]# make
[root@web2 redis-3.0.6]# make install
[root@web2 redis-3.0.6]# ./utils/install_server.sh(初始化)
修改配置文件
[root@web redis-3.0.6]# vim /etc/redis/6379.conf
slaveof 192.168.2.100 6379 (主服务器ip 端口)
masterauth 123456(主服务器密码)
[root@web2 redis-3.0.6]# /etc/init.d/redis_6379 restart

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

linux redis基础应用 主从服务器配置的更多相关文章

  1. linux - redis基础

    目录 linux - redis基础 redis 源码编译安装 redis 数据结构 1. strings类型 2. list 类型 3. sets集合类型 有序集合 5. 哈希数据结构 centos ...

  2. Linux - redis主从同步

    目录 Linux - redis主从同步 环境准备 配置主从同步 测试写入数据,主库写入数据,检查从库数据 手动进行主从复制故障切换 Linux - redis主从同步 原理: 从服务器向主服务器发送 ...

  3. mysql主从复制、redis基础、持久化和主从复制

    一.mysql(mariadb)基础 1.基础命令(centos7操作系统下) 1.启动mysql systemctl start mariadb 2.linux客户端连接自己 mysql -uroo ...

  4. redis的使用和安装,redis基础和高级部分

    redis的使用和安装,redis基础和高级部分 在后端开发中,为了提高性能,对于一些经常查询但是又不太变化的内容会使用redis,比如前端的列表展示项等,如果数据有变化也可以清空缓存,让前端查一次数 ...

  5. linux Redis 5.0集群搭建

    文档结构如下: Redis cluster 是redis的分布式解决方案,在3.0版本正式推出后,有效的解决了redis分布式方面的需求:当遇到单机内存,并发,流量等瓶颈是,可以采用cluster架构 ...

  6. 转: Redis基础总结

    转文:http://blog.csdn.net/basycia/article/details/52175429 1.redis是什么 2.redis的作者何许人也 3.谁在使用redis 4.学会安 ...

  7. windows下使用redis,Redis入门使用,Redis基础命令

    windows下使用redis,Redis入门使用,Redis基础命令 >>>>>>>>>>>>>>>> ...

  8. [.net 面向对象程序设计深入](14)Redis——基础

    [.net 面向对象程序设计深入](14)Redis——基础 很长一段时间没更新博客了,坚持做一件事,真不是件容易的事,后面我会继续尽可能的花时间更新完这个系列文章. 因这个系列的文章涉及的范围太大了 ...

  9. [.net 面向对象程序设计深入](36)Redis——基础

    [.net 面向对象程序设计深入](36)Redis——基础 很长一段时间没更新博客了,坚持做一件事,真不是件容易的事,后面我会继续尽可能的花时间更新完这个系列文章. 因这个系列的文章涉及的范围太大了 ...

随机推荐

  1. 【转】globk通常的应用

    1.重复性分析(glred) -单独的观测期 -联合的观测期 2.联合多期数据得到基于实验的平均位置 -联合单独观测的测站 3.联合平均位置估计速度或地震偏移和震后运动 卡尔曼滤波 1.等同于序贯最小 ...

  2. jenkins构建一个maven项目[五]

    标签(linux): jenkins 笔者Q:972581034 交流群:605799367.有任何疑问可与笔者或加群交流 构建一个maven项目,即为构建java项目.模拟实验之前先把实验代码推送到 ...

  3. 通过traceroute追踪并打印成图片

    #!/usr/bin/evn python #-*-coding:utf-8 -*- import time import logging,warnings import subprocess imp ...

  4. Linux中变量#,@,0,1,2,*,$$,$?的意思

    $# 是传给脚本的参数个数 $0 是脚本本身的名字 $1 是传递给该shell脚本的第一个参数 $2 是传递给该shell脚本的第二个参数 $@ 是传给脚本的所有参数的列表 $* 是以一个单字符串显示 ...

  5. Nginx几种负载均衡算法及配置实例

    本文装载自: https://yq.aliyun.com/articles/114683 Nginx负载均衡(工作在七层"应用层")功能主要是通过upstream模块实现,Ngin ...

  6. ASP.NET没有魔法——ASP.NET MVC 模型验证

    在前面的文章中介绍了用户的注册及登录功能,在注册用户时可以通过代码的形式限制用户名及密码的格式,如果不符合要求那么就无法完成操作,如下图: 该功能的原理是Identity基于的Entity Frame ...

  7. c# excel print 打印 将所有列调整为一页

    excel有时候列数比较多,行数也比较多,转换成xps文档的时候,一般是通过打印来实现. 由于打印的范围限制,所以会出现本来在一行的数据,由于列数比较多,溢出范围,被打印到两页了. 为解决这个问题,需 ...

  8. linux 基础信息查询

    Linux下如何查看版本信息   Linux下如何查看版本信息, 包括位数.版本信息以及CPU内核信息.CPU具体型号等等,整个CPU信息一目了然.   1.# uname -a   (Linux查看 ...

  9. Apache优化配置:修改最大并发连接数

    此文摘自: http://www.365mini.com/page/apache-concurrency-configuration.htm Apache查看连接数和限制当前的连接数 : http:/ ...

  10. BZOJ 3262: 陌上花开 [CDQ分治 三维偏序]

    Description 有n朵花,每朵花有三个属性:花形(s).颜色(c).气味(m),又三个整数表示.现要对每朵花评级,一朵花的级别是它拥有的美丽能超过的花的数量.定义一朵花A比另一朵花B要美丽,当 ...