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. 我的踩坑之旅-代码不规范引发的“bug”

    今早公司上班,老大跟我说有一个服务老是上线,下线,问我啥情况.我回想了下我的项目部署,觉得不可能会出现这个问题呀.然后各种鼓捣,倒腾了一个早上,终于找出了罪魁祸首. 场景:我们的服务部署在亚马逊上.我 ...

  2. 【转】centos安装vim7.4

    centos安装vim7.4   系统版本centos6.4; root权限 su - root     卸载 $ rpm -qa | grep vim $ yum remove vim vim-en ...

  3. Tomcat(五):nginx/httpd + tomcat及负载均衡tomcat

    */ .hljs { display: block; overflow-x: auto; padding: 0.5em; color: #333; background: #f8f8f8; } .hl ...

  4. java 如何将 word,excel,ppt如何转pdf--jacob

    问题:java 如果将 word,excel,ppt如何转pdf 我个人的观点:windows server下用 jacob; linux server下 用openoffice.   PS:1.本文 ...

  5. 基于Controller接口的控制器及简单应用

    DispatcherServlet在Spring当中充当一个前端控制器的角色,它的核心功能是分发请求.请求会被分发给对应处理的Java类,Spring MVC中称为Handle.在Spring 2.5 ...

  6. R语言-探索两个变量

    目的: 通过探索文件pseudo_facebook.tsv数据来学会两个变量的分析流程 知识点: 1.ggplot语法 2.如何做散点图 3.如何优化散点图 4.条件均值 5.变量的相关性 6.子集散 ...

  7. CentOS上安装MongoDB速记

    测试环境版本CentOS 6.5 先创建安装目标文件夹并进入至该文件夹: mkdir /opt/mongodb cd /opt/mongodb 给mongodb创建用户及用户组: groupadd m ...

  8. 洛谷 [P2486] 染色

    树剖+线段树维护连续相同区间个数 注意什么时候长度要减一 #include <iostream> #include <cstdio> #include <cstdlib& ...

  9. 洛谷 [P2762] 太空飞行计划问题

    最大权闭合子图 胡伯涛论文真是个好东西.jpg 求一个有向图的最大权闭合子图,常应用于有先决条件的最优化问题中 将所有正权点与源点相连,容量为点权; 将所有负权点与汇点相连,容量为点权的相反数; 将原 ...

  10. BZOJ 3997: [TJOI2015]组合数学 [偏序关系 DP]

    3997: [TJOI2015]组合数学 题意:\(n*m:\ n \le 1000\)网格图,每个格子有权值.每次从左上角出发,只能向下或右走.经过一个格子权值-1.至少从左上角出发几次所有权值为0 ...