以前也没怎么搞过redis 只知道他是一个nosql数据库很强大,这次迁移用到了~  正好熟练一下并记录过程,还挺繁琐。。

记录一下在学习中的几个问题,总结加深一下印象,有可能会漏掉或者有误差的地方~~~

#############################################

Redis 是一个Nosql数据库
redis.cn 中文官网
redis 编译安装依赖gcc C程序与原的编译器,redis是c语言编写的。
make 报错缺少gcc的话安装gcc, yum install gcc
make 报错jemalloc/jemalloc.h:没有那个文件或者目录,运行make distclean 之后在make
redis 5大数据类型 string字符串 HASH 哈希 LIST 列表 SET 集合 ZSET有序集合

##############################################

Redis持久化是什么?

是RDB和AOF的两种备份方式

Redis备份方法?区别在哪?

两种备份方法:
1.rdb文件备份
2.aof文件备份
区别:
RDB文件是系统默认开启的,
优点:以文件的形式存储到硬盘,根据写入的次数和和时间策略来触发备份,适合大文件的备份迁移较快的恢复大量的数据;
缺点:紧急断电或故障时有丢少量数据风险,完整性要求较高的文件备份不建议使用rdb方式。
Aof文件备份默认不开启,
优点:时时备份,AOF持久化以日志的形式记录服务器所处理的每一个写、删除操作,查询操作不会记录,以文本的方式记录,可以打开文件看到详细的操作记录。
缺点:因为是时时备份,会对磁盘时时写入,影响磁盘IO性能。

几种工作模式?

1.单机
2.分片
3.集群
主从复制的几种模式:
4中模式
1.一主二从
2.薪火相连
3.反客为主
4.哨兵模式 (目前比较流行)

迁移流程:

拷贝备份文件到新的redis服务器上

我用的rdb备份模式,scp dump.rdb到新的redis的服务器

安装Redis服务

yum install redis php-pecl-redis.x86_64 php-phpiredis.x86_64 php-nrk-Predis.noarch   #yum 安装

配置redis.conf

里面配置太多了,我只更改了几个地方:

1.Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程
  daemonize no #如果不想起服务的时候卡死在那最好先改为yes。。
2.rdb备份是系统默认开启的,但是他的备份文件的路径需要改一下找个大点的磁盘存储。。
dir /test/redis
3.访问权限,默认是127.0.0.1本机访问,我这边给他放开所有主机的权限,因为连的web有点多。。bind 0.0.0.0
################################## NETWORK ##################################### # By default, if no "bind" configuration directive is specified, Redis listens
# for connections from all the network interfaces available on the server.
# It is possible to listen to just one or multiple selected interfaces using
# the "bind" configuration directive, followed by one or more IP addresses.
#
# Examples:
#
# bind 192.168.1.100 10.0.0.1
# bind 127.0.0.1 ::1
bind 0.0.0.0
4.生产模式下需要配置redis密码,否则很危险,默认不配置
requirepass "myPasswOrd"

启动Redis

redis-server /etc/redis.conf

############

还有一个参数我目前没设置,因为可能性能要求还没那么高,但是非常重要,记录一下!

maxmemory 值的设置限制redis使用的内存大小一般都设置总内存的4/3,

maxmemory在64位操作系统中默认不限制,也就是=0,在32位系统默认是3G,这个根据自己情况更改吧。。

提这个的主要目的就是一旦开启了maxmemory的大小限制,就一定要给一个缓存策略,帮他来消化限制之外的set怎么处理,是抛弃?是腾空间?怎么腾?所以就有了这几个选项

noeviction就不建议选了,allkeys-lru可以在迷茫的时候选择试试~   就理解这么多。。。

noeviction:当内存使用达到阈值的时候,所有引起申请内存的命令会报错
allkeys-lru:在主键空间中,优先移除最近未使用的key。
volatile-lru:在设置了过期时间的键空间中,优先移除最近未使用的key。
allkeys-random:在主键空间中,随机移除某个key。
volatile-random:在设置了过期时间的键空间中,随机移除某个key。
volatile-ttl:在设置了过期时间的键空间中,具有更早过期时间的key优先移除。

############

__NOLAYOUT__}

:(

Class 'Redis' not found

错误位置

FILE: /letv/www/hotel/Hoteltest/Think

  

错误摘记:

启动后页面打开报错,因为我使用的时SLB负载均衡,登陆网站时输入验证码时好时坏,因为时轮询的那肯定有一台有问题。

【排查思路】

1.tail -f /var/log/nginx/access.log  看一下Nginx日志,抓到了原来其中一台报错500.。。。

2.为什么会报错500呢,我测试了一下redis的连接性,没有问题应该不是权限问题。。

3.页面F12查看错误详情"Class 'Redis' not found",浏览器很友好的告诉我错误提示了。

4.通过博客查看结果时: 有的说没安装redis扩展导致的,还有一种可能就是你php和web 没有加载正确。。

【解决】

1.先将报错机器的php全部卸载。。

2.看一下正常机器安装的扩展包

[root@iz8vbilqy0q9v8tds55bqyz Hoteltest]# yum list installed|grep php|awk -F ' ' '{print $1}'|xargs
php-channel-nrk.noarch php-cli.x86_64 php-common.x86_64 php-fpm.x86_64 php-gd.x86_64 php-mysql.x86_64 php-nrk-Predis.noarch \
php-pdo.x86_64 php-pear.noarch php-pecl-igbinary.x86_64 php-pecl-redis.x86_64 php-phpiredis.x86_64 php-process.x86_64 php-xml.x86_64
 
yum install php-channel-nrk.noarch php-cli.x86_64 php-common.x86_64 php-fpm.x86_64 php-gd.x86_64 php-mysql.x86_64 \
php-nrk-Predis.noarch php-pdo.x86_64 php-pear.noarch php-pecl-igbinary.x86_64 php-pecl-redis.x86_64 php-phpiredis.x86_64 php-process.x86_64 php-xml.x86_64

  

安装重启,解决。。

错误摘记:

在一次迁移中,更换了redis.conf 中的密码,导致了主战登录页面验证码无法通过验证,一直报错~~ 将密码改回即解决,目前还不知道什么原因!!!

业务迁移---redis的更多相关文章

  1. 搭建备份到业务迁移---mysql

    mysql安装启动以及配置 使用到阿里云主机直接yum安装以及配置 [root@yunwei-169 mysql]# yum install mysql mysql-server [root@yunw ...

  2. 使用redis-dump与redis-load方式迁移redis数据库

    实际生产场景中,有可能会因为迁移机房或者更换物理机等原因需要在生产环境迁移redis数据.本文就来为大家介绍一下迁移redis数据的方法. 迁移redis数据一般有如下3种方式: 1.第三方工具red ...

  3. 华为云计算IE面试笔记-华为云计算解决方案业务迁移支持哪些迁移?有哪些特点?请描述基本的业务交付流程、业务迁移流程和原则。

    1. 迁移场景:华为云计算解决方案按照源端环境来说,支持P2V.V2V(P2V:物理设备(操作系统及其上的应用软件和数据)迁移到华为虚拟化平台.V2V:其他厂商的虚拟化平台迁移到华为虚拟化平台.)以及 ...

  4. 新浪计数业务之Redis

    今天听一个同事说新浪使用的是Redis,于是自己将研究的过程整理出来以备后用. 我们都知道微博这玩意儿现在很火,新浪作为国内最早使用redis,并且是国内最大的redis使用者,当然备受人们关注.新浪 ...

  5. Redis-port安装使用实现redis迁移codis,以及简单redis pipe实现将mysql迁移redis

    (0)Redis-port原理: 首先是看到下面这篇文档开始研究的redis-port http://www.itnpc.com/news/web/146085373656602.html  简要截图 ...

  6. 业务迁移---web

    #本文是做记录使用,不做为任何参考文档# 迁移代码 将源代码scp至新的server上 搭建服务 yum安装nginx服务 yum install nginx #yum安装 service nginx ...

  7. redis跨实例迁移 & redis上云

    1)redis跨实例迁移--源实例db11迁移至目标实例db30 root@fe2e836e4470:/data# redis-cli -a pwd1 -n 11 keys \* |while rea ...

  8. zabbix通过php脚本模拟业务访问redis验证nosql的可用性

    背景: redis通过shell脚本进行监控,没有问题,应用报警连不上redis,此时需要通过php模拟web环境进行redis的操作来确认web服务器是否能正常和redis通信 .配置nginx,让 ...

  9. redis集群数据迁移txt版

    ./redis-trib.rb create --replicas 1 192.168.112.33:8001 192.168.112.33:8002 192.168.112.33:8003 192. ...

随机推荐

  1. 解决 LLVM 错误 fatal error: ‘csignal’ file not found

    /Users/exchen/Downloads/Unity-iPhone/Classes/main.mm:3:10: fatal error: ‘csignal’ file not found#inc ...

  2. html5中audio支持音频格式

    HTML5 Audio标签能够支持wav, mp3, ogg, acc, webm等格式,但有个很重要的音乐文件格式midi(扩展名mid)却在各大浏览器中都没有内置的支持.不是所有的浏览器都支持MP ...

  3. TortoiseGit —— 配置密钥

    TortoiseGit 使用扩展名为ppk的密钥,而不是ssh-keygen生成的rsa密钥.使用命令ssh-keygen -C "邮箱地址" -t rsa产生的密钥在Tortoi ...

  4. hadoop生态搭建(3节点)-09.flume配置

    # http://archive.apache.org/dist/flume/1.8.0/# ===================================================== ...

  5. Python系列之入门篇——pytables及其客户端

    pytables及其客户端查看 pytables # ubuntu sudo apt-get install python-tables pip install flask flask-httpaut ...

  6. Python2018秋招(笔者亲身经历)

    毕业即失业,苦逼的大四狗伤不起哟. 又到了一年一度的秋招了,笔者也在拉勾,智联,boss直聘注册了,投了50份简历,3个面试,然而全挂了. 笔者痛定思痛决定将自己的经历贴出,希望可以帮到要面试的同学. ...

  7. 关于MySQL的锁机制详解

    锁概述 MySQL的锁机制,就是数据库为了保证数据的一致性而设计的面对并发场景的一种规则. 最显著的特点是不同的存储引擎支持不同的锁机制,InnoDB支持行锁和表锁,MyISAM支持表锁. 表锁就是把 ...

  8. 类加载器 ClassLoder详解

    一.类加载器定义 从作用的角度来认识类加载器:(根据API文档) 1.类加载器是一个负责加载类的对象,而ClassLoader是一个抽象类.类加载器将xxx.class文件加载到JVM,生成xxx的C ...

  9. linux signal函数遇到的问题

    1.关于signal函数的定义 signal最开始的原型是这: void (*signal(int signo, void (*func)(int)))(int);看过下面两行,了解到上面这一行是这个 ...

  10. 毕业 迷茫 继续OR放弃?

    终于还是回学校拿了毕业证书,请了两个小时的假,连同中午吃饭的时间,顺利地从班主任手中拿到了毕业证书,大学就这样结束啦,人生也来到了一个新的转折点,但是每天的每天,我都是异常迷茫,异常胆怯,异常无语. ...