博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Redis介绍与安装
阅读量:7087 次
发布时间:2019-06-28

本文共 2759 字,大约阅读时间需要 9 分钟。

hot3.png

Redis介绍

       redis是一种基于键值对(key-value)数据库,其中value可以为string、hash、list、set、zset等多种数据结构,可以满足很多应用场景。还提供了键过期,发布订阅,事务,流水线,等附加功能,

       流水线: Redis 的流水线功能允许客户端一次将多个命令请求发送给服务器, 并将被执行的多个命令请求的结果在一个命令回复中全部返回给客户端, 使用这个功能可以有效地减少客户端在执行多个命令时需要与服务器进行通信的次数。

特性:

1〉速度快,数据放在内存中,官方给出的读写性能10万/S,与机器性能也有关

    a,数据放内存中是速度快的主要原因

    b,C语言实现,与操作系统距离近

    c,使用了单线程架构,预防多线程可能产生的竞争问题

2〉键值对的数据结构服务器

3〉丰富的功能:见上功能

4〉简单稳定:单线程

5〉持久化:发生断电或机器故障,数据可能会丢失,持久化到硬盘

6〉主从复制:实现多个相同数据的redis副本

8〉高可用和分布式:哨兵机制实现高可用,保证redis节点故障发现和自动转移

9〉客户端语言多:java php python c c++ nodejs等

使用场景

  1. 缓存:合理使用缓存加快数据访问速度,降低后端数据源压力
  2. 排行榜:按照热度排名,按照发布时间排行,主要用到列表和有序集合
  3. 计数器应用:视频网站播放数,网站浏览数,使用redis计数
  4. 社交网络:赞、踩、粉丝、下拉刷新
  5. 消息队列:发布和订阅

正确安装与启动

下载源码,解压缩后编译源码。

$ wget http://download.redis.io/releases/redis-4.0.6.tar.gz$ tar xzf redis-4.0.6.tar.gz$ cd redis-4.0.6$ makemkdir /usr/local/reidscp redis-server /usr/local/rediscp redis-benchmark /usr/local/rediscp redis-check-rdb /usr/local/rediscp redis-sentinel /usr/local/rediscp redis-cli /usr/local/rediscp redis.conf /usr/local/redis

 

远程访问6379节点(后期做为主节点使用):

redis.conf  修改 requirepass 12345678    注释掉bind 127.0.0.1

 

从节点redis6380.conf, redis6381.conf:

修改 requirepass 12345678 ,注释掉bind 127.0.0.1, 加上masterauth 12345678 ,

加上slaveof 127.0.0.1 6379

 

redis sentinel哨兵机制配置(也是3个节点):

/usr/local/bin/conf/sentinel_26379.conf  /usr/local/bin/conf/sentinel_26380.conf/usr/local/bin/conf/sentinel_26381.conf

将三个文件的端口改成: 26379   26380   26381

然后:

sentinel monitor mymaster 127.0.0.1 6379 2  //监听主节点6379sentinel auth-pass mymaster 12345678     //连接主节点时的密码

三个配置除端口外,其它一样。

启动sentinel服务:            

./redis-sentinel conf/sentinel_26379.conf &./redis-sentinel conf/sentinel_26380.conf &./redis-sentinel conf/sentinel_26381.conf &

测试:kill -9 6379  杀掉6379的redis服务

看日志是分配6380 还是6381做为主节点,当6379服务再启动时,已变成从节点

 

如果6380升级为主节点:进入6380>info replication     可以看到role:master

打开sentinel_26379.conf等三个配置,sentinel monitor mymaster 127.0.0.1 6380 2

外部应用连接sentinel时, sentinel.conf的protected-mode no改成no

./redis-cli -p 26380 shutdown //关闭

redis配置、启动、操作、关闭

可执行文件

作用

redis-server

启动redis

redis-cli

redis命令行客户端

redis-benchmark

基准测试工具

redis-check-aof

AOF持久化文件检测和修复工具

redis-check-dump

RDB持久化文件检测和修复工具

redis-sentinel

启动哨兵

 

redis-server启动:

  1. 默认配置:redis-server, 日志输出版本信息,端口6379
  2. 运行启动:redis-server --port 6380  不建议
  3. 配置文件启动: redis-server /opt/redis/redis.conf,灵活,生产环境使用这种

edis-cli 启动:

1,>交互式:redis-cli -h {host} -p {prot}连接到redis服务,没有h默认连127.0   redis-cli -h 127.0.0.1 -p 6379 //没有p 默认连63792,>命令式:redis-cli -h 127.0.0.1 -p 6379 get hello  //取key=hello的value3,>停止redis服务: redis-cli shutdown     注意: a,关闭时:断开连接,持久化文件生成,相对安全          b,还可以用kill关闭,此方式不会做持久化,还会造成缓冲区非法关闭,可能会造成AOF和丢失数据          c,关闭前生成持久化文件:使用redis-cli -a 123456 登录进去,再shutdown nosave|save

重大版本

1,版本号第二位为奇数,为非稳定版本(2.7、2.9、3.1)    

2,第二为偶数,为稳定版本(2.6、2.8、3.0)    

3,当前奇数版本是下一个稳定版本的开发版本,如2.9是3.0的开发版本

 

转载于:https://my.oschina.net/u/3728166/blog/2248177

你可能感兴趣的文章
ORA-100501: non-ORACLE exception
查看>>
不安装Oracle客户端也能使用PL/SQL
查看>>
我的友情链接
查看>>
FineReport中如何自定义登录界面
查看>>
元素始终居浏览器窗口中间的位置
查看>>
Linux的常用目录(Ubuntu)
查看>>
linux 下更改文件名编码方式
查看>>
浏览器内核相关
查看>>
Completely Uninstall Node.js from Mac OS X
查看>>
Redis数据库学习(1)
查看>>
rsync+inotify配置
查看>>
Android学习笔记系列
查看>>
Maven学习总结(四)——Maven核心概念
查看>>
linux挂载ipsan服务器
查看>>
2013-05-25
查看>>
innodb_force_recovery强制修复MySQL异常关闭问题
查看>>
如何将Windows XP SP3改成SP2
查看>>
我的友情链接
查看>>
实战MYSQL 8.0.12 主主复制配置过程
查看>>
1周2次课
查看>>