Redis高级应用

Redis高级实用特性分6部分:

1、安全性

设置客户端连接后进行任何其他操作时,需要使用密码

修改redis.conf配置文件,requirepass password指令就是用来设置密码的

修改完配置文件后要重启redis服务

重启后,发现在命令行执行操作时,会有以下提示。此时需要用auth password 来授权

127.0.0.1:6379> keys *
(error) NOAUTH Authentication required.
127.0.0.1:6379> auth redis123
OK
127.0.0.1:6379> keys *
(empty list or set)

如果不希望在命令行输入密码来完成授权,则可以在登录客户端时,输入密码

[[email protected] init.d]# /usr/local/redis/bin/redis-cli -a redis123
127.0.0.1:6379> keys *
(empty list or set)

2、主从复制

Redis主从复制配置和使用非常简单。通过主从复制可以允许多个slave server拥有和master server相同的数据库副本

主从复制的工作原理:

1、slave与master建立连接后,发送sync同步命令

2、master会启动一个后台进程,将数据库快照保存到文件中,同时master主进程会开始收集新的写命令并缓存

3、后台完成保存后,将此文件发送给slave

4、slave将此文件保存到硬盘上

主从复制的特点:

a、Master可以拥有多个slave

b、多个slave可以连接同一个master外,还可以连接到其他slave(这个特性是为了防止master出现故障后,slave无法进行同步,如果slave还连接了其他slave,那么master挂掉后,这个slave就会变成master,接管服务)

c、主从复制不会阻塞master,在同步数据时,master可以继续处理client请求

d、提高系统的伸缩性

主从复制的配置

在slava的配置文件中加入以下配置:

slaveof 192.168.1.1 6379 #指定master的ip和端口

masterauth PASSWORD  # 这是master的密码

注意:主从配置的注意事项:

master、slave的配置文件中bind 127.0.0.1 这条配置改成eth0网卡的ip地址,否则redis的端口默认监听在127.0.0.1上。这样slave 到master的端口不通。

更改bind 的IP地址后,进入客户端时使用命令:

$redis_home/bin/redis-cli -h 172.16.206.140

即使用-h参数指定eth0网卡的IP地址,默认是127.0.0.1

3、事务处理

Redis对事务的处理目前还比较简单,Redis只能保证一个client发起的事物中的命令可以连续的执行,而中间不会插入其他client的命令。当一个client在一个连接中发出multi命令时,这个连接会进入一个事务上下文,该连接后续的命令不会立即执行,而是先放到一个队列中,当执行exec命令时,redis会顺序的执行队列中的命令

例如:

172.16.206.142:6379> set age 27
OK
172.16.206.142:6379> 
172.16.206.142:6379> get age
"27"
172.16.206.142:6379> multi
OK
172.16.206.142:6379> set age 37
QUEUED
172.16.206.142:6379> set age 47QUEUED
172.16.206.142:6379> set age 47
QUEUED
172.16.206.142:6379> exec
1) OK
2) OK
3) OK
172.16.206.142:6379> get age
"47"

discard:取消一个事务

172.16.206.142:6379> get age
"47"
172.16.206.142:6379> multi
OK
172.16.206.142:6379> set age 100
QUEUED
172.16.206.142:6379> set age 200
QUEUED
172.16.206.142:6379> discard
OK
172.16.206.142:6379> get age
"47"

4、持久化机制

5、发布订阅消息

6、虚拟内存的使用

时间: 2024-08-07 08:16:23

Redis高级应用的相关文章

分布式缓存技术redis学习系列(四)——redis高级应用(集群搭建、集群分区原理、集群操作)

本文是redis学习系列的第四篇,前面我们学习了redis的数据结构和一些高级特性,点击下面链接可回看 <详细讲解redis数据结构(内存模型)以及常用命令> <redis高级应用(主从.事务与锁.持久化)> 本文我们继续学习redis的高级特性--集群.本文主要内容包括集群搭建.集群分区原理和集群操作的学习. Redis集群简介 Redis 集群是3.0之后才引入的,在3.0之前,使用哨兵(sentinel)机制(本文将不做介绍,大家可另行查阅)来监控各个节点之间的状态.Redi

NoSQL之Redis高级实用命令详解--安全和主从复制

Android IOS JavaScript HTML5 CSS jQuery Python PHP NodeJS Java Spring MySQL MongoDB Redis NOSQL Vim C++ C# JSON Ruby Linux Nginx Docker 所有分类  >  数据库相关  >  NoSQL数据库 NoSQL之Redis高级实用命令详解--安全和主从复制 NoSQL Redis   2014-01-09 22:52:47 发布 您的评价:       0.0   收

将同时推出“高并发之Redis初级”“高并发之Redis高级”“高并发之Memcached实战”系列课程

将同时推出"高并发之Redis初级""高并发之Redis高级""高并发之Memcached实战"系列课程,敬请关注,谢谢! "高并发之Redis初级":http://edu.csdn.net/course/detail/482 "高并发之Redis高级":http://edu.csdn.net/course/detail/483 "高并发之Memcached实战": http://edu

Redis高级特性及应用场景

Redis高级特性及应用场景 redis中键的生存时间(expire) redis中可以使用expire命令设置一个键的生存时间,到时间后redis会自动删除它. 过期时间可以设置为秒或者毫秒精度. 过期时间分辨率总是 1 毫秒. 过期信息被复制和持久化到磁盘,当 Redis 停止时时间仍然在计算 (也就是说 Redis 保存了过期时间). expire  设置生存时间(单位/秒) expire key seconds(秒) ttl 查看键的剩余生存时间 ttl key persist 取消生存

Redis学习第八课:Redis高级实用特性(二)

Redis高级实用特性 4.持久化机制 Redis是一个支持持久化的内存数据库,也就是说Redis需要经常将内存中的数据同步到硬盘来保证持久化.Redis支持两种持久化方式:(1).snapshotting(快照) 也是默认方式.  快照是默认的持久化方式,这种方式是将内存中数据以快照的方式写入到二进制文件中,默认的文件名为dump.rdb.可以通过配置设置自动做快照持久化的方式.我们可以配置redis在n秒内如果超过m个key的修改就自动做快照. 修改配置文件redis.conf:save 9

Redis学习(6)-Redis高级实用特性

Redis高级实用特性: 1.安全性2.主从复制3.事务处理4.持久化机制5.发布订阅消息6.虚拟内存的使用 安全性: 设置客户端连接后进行任何其他指定前需要使用的密码警告:因为Redis速度相当快,所以一台比较好的服务器下一个外部的用户可以在一秒钟进行150k次的密码尝试,这意味着你需要指定非常非常强大的密码来防止暴力破解配置方法: requirepass beijing(在配置文件中配置密码) auth beijing(授权方式1) redis-cli -a beijing(授权方式2) 主

redis高级应用(集群搭建、集群分区原理、集群操作)

文章主目录 Redis集群简介 Redis集群搭建 Redis集群分区原理 集群操作 参考文档 本文是redis学习系列的第四篇,前面我们学习了redis的数据结构和一些高级特性,点击下面链接可回看 <详细讲解redis数据结构(内存模型)以及常用命令> <redis高级应用(主从.事务与锁.持久化)> 本文我们继续学习redis的高级特性--集群.本文主要内容包括集群搭建.集群分区原理和集群操作的学习. 回到顶部 Redis集群简介 Redis 集群是3.0之后才引入的,在3.0

redis 高级特性 不要太好用

Redis高级特性及应用场景 redis中键的生存时间(expire) redis中可以使用expire命令设置一个键的生存时间,到时间后redis会自动删除它. 过期时间可以设置为秒或者毫秒精度. 过期时间分辨率总是 1 毫秒. 过期信息被复制和持久化到磁盘,当 Redis 停止时时间仍然在计算 (也就是说 Redis 保存了过期时间). expire  设置生存时间(单位/秒) [python] view plain copy expire key seconds(秒) ttl 查看键的剩余

Redis05——Redis高级运用(管道连接,发布订阅,布隆过滤器)

Redis高级运用 一.管道连接redis(一次发送多个命令,节省往返时间) 1.安装nc yum install nc -y 2.通过nc连接redis nc localhost 6379 3.通过echo向nc发送指令 echo -e "set k2 99\nincr k2\n get k2" |nc localhost 6379 二.发布订阅(pub/Sub) publish channel message subscribe channel 三.事务(transactions)