------------------------------redis-------------------------------

一、哪儿用了redis?为什么要用redis?
哪儿用来:首页轮播广告
为什么用:因为mysql走的是硬盘,顶不住高并发;redis是走内存;
二、什么是redis?
redis是c语言开发的高性能的k-v形式的数据库,数据存储在内存中

三、redis安装和启动

1、安装1)安装c语言环境yum install gcc-c++、2)上传并解压cd /usr/uploadtar -zxvf redis-3.0.0.tar.gz3)编译并安装cd /usr/upload/redis-3.0.0makemake install PREFIX=/usr/local/redis4)拷贝并修改配置文件cp /usr/upload/redis-3.0.0/redis.conf  /usr/local/redis/binvim  /usr/local/redis/bin/redis.conf:daemonize yes

··
2、启动和关闭

    启动:cd /usr/local/redis/bin./redis-server redis.conf关闭:cd /usr/local/redis/bin./redis-cli -h 192.168.204.132 -p 6379 shutdown

四、基本命令

keys *:查看所有key值
exists:判断key值是否存在
expire和ttl:设置和查看key的失效时间
incr和decr:自增和自减

五、redis的多数据库实例

1、redis实例中提供了下标是0-15的16个数据库,不能修改下标,可通过select切换
2、清空数据库的命令:flushdb:清空当前数据库的数据flushall:清空所有数据库的数据

六、redis 持久化

1、RDB:默认[数据]策略:900 1300 1060  10000缺点:不能保证数据完整性优点:不影响性能实验:1、删除dump.rdb2、set str qwer3、./redis-cli shutdown--->观察dump.rdb(生成持久化文件)2、AOF:[命令]策略:# appendfsync alwaysappendfsync everysec# appendfsync no缺点:影响性能优点:保证数据完整性实验:1、设置appendonly为yes2、set str1 1233、等待一秒观察appendonly.aof(有数据)

七、主从复制

1、过程a、从往主发送sync命令b、主往从发送rdbc、主往从发送写命令
2、配置步骤主:无须配置从:slaveof ip port实验:1)往主写数据,观察从是否同步2)关闭主,往从写数据(主死了从只能读)

八、redis集群

1、redis集群是多少台?投票容错超过半数:3台   高可用:3台2、为什么集群中有一个节点挂了,则整个集群都不能用了呢?redis集群中有16384个槽分给了3个节点,存取数据时:crc16(key)%16383=0~163833、搭建步骤1)安装ruby环境cd /usr/uploadyum install rubyyum install rubygems安装脚本文件gem install redis-3.0.0.gemcd redis-3.0.0/srcll *.rb注意:必须删除dump.rdb和appendonly.aof文件2)拷贝6个节点cd /usr/localcp -r redis redis-cluster/redis-7001cp -r redis redis-cluster/redis-7002cp -r redis redis-cluster/redis-7003cp -r redis redis-cluster/redis-7004cp -r redis redis-cluster/redis-7005cp -r redis redis-cluster/redis-70063)修改配置文件vim redis-cluster/redis-7001/bin/redis.conf:port 7001cluster-enable yesvim redis-cluster/redis-7002/bin/redis.conf:port 7002cluster-enable yesvim redis-cluster/redis-7003/bin/redis.conf:port 7003cluster-enable yesvim redis-cluster/redis-7004/bin/redis.conf:port 7004cluster-enable yesvim redis-cluster/redis-7005/bin/redis.conf:port 7005cluster-enable yesvim redis-cluster/redis-7006/bin/redis.conf:port 7006cluster-enable yes4)创建启动集群的脚本cd /usr/local/redis-clustervim start-all.sh:cd /usr/local/redis-cluster/redis-7001/bin./redis-server redis.confcd /usr/local/redis-cluster/redis-7002/bin./redis-server redis.confcd /usr/local/redis-cluster/redis-7003/bin./redis-server redis.confcd /usr/local/redis-cluster/redis-7004/bin./redis-server redis.confcd /usr/local/redis-cluster/redis-7005/bin./redis-server redis.confcd /usr/local/redis-cluster/redis-7006/bin./redis-server redis.conf#给权限chmod 777 start-all.sh #启动脚本./start-all.sh5)使用ruby脚本创建redis集群cd /usr/upload/redis.3.0.0/src./redis-trib.rb create --replicas 1 192.168.204.132:7001 192.168.204.132:7002 192.168.204.132:7003 192.168.204.132:7004 192.168.204.132:7005  192.168.204.132:70066)测试./redis-cli -c -p 7001127.0.0.1:7001> cluster info127.0.0.1:7001> cluster nodes

九、redis五种数据类型

                    赋值                                   取值                             删除                    特点
string              set k v                                 get k                           del k                    string
hash                hset k k-v                             hget k k                         hdel k k                 map
list             lpush/rpush k v...                      lrange k 0 -1                      lrem k 2 v               list
set              sadd k v...                             smembers k                         srem k v                 set
zset             zadd k 1 v...                  zrange k 0 -1 withscores                    zrem k v                 sort set

------------------------------redis的总结-------------------------------
一、redis的持久化

https://blog.csdn.net/chairongdian/article/details/124852514(可参考)

  1、为什么需要持久化?Redis对数据的操作都是基于内存的,当遇到了断电、服务器挂机等意外情况,如果没有持久化机制,那么Redis中的数据将会丢失无法恢复。有了持久化机制,Redis在下次重启时可以利用之前持久化的文件进行数据恢复。Redis支持的两种持久化机制:RDB:把当前数据持久化保存在硬盘上。AOF:记录每次对数据的操作到硬盘上。2.RDB和AOF 的区别?RDB:默认开启的,在指定的时间间隔内将内存中的数据集快照写入磁盘,(如果900秒内有1条Key信息发生变化,则进行持久化如果300秒内有10条Key信息发生变化,则进行持久化如果60秒内有10000条Key信息发生变化,则进行持久化)它恢复时是将快照文件直接读到内存里。这种持久化方式缺点:不能保证数据完整性(如果900秒内有1条Key信息发生变化的过程中出现断电情况) 优点:不影响性能AOF:Redis是默认没有开启AOF持久化的,可以通过配置redis.conf文件来开启AOF持久化,(appendonly yes)就可以。AOF持久化是把每次写命令追加写入日志中,当需要恢复数据时重新执行AOF文件中的命令就可以了。(AOF持久化方案有三种策略:# appendfsync always 写一次持久化一次appendfsync everysec 每秒持久化一次# appendfsync no )不开启持久化AOF这种持久化方式保证数据的完整性,当然也有缺点:影响redis的性能

二、redis集群

https://blog.csdn.net/a745233700/article/details/112691126

 redis的集群模式中可以实现多个节点同时提供写操作,redis集群模式采用无中心结构,每个节点都以键值对的形式保存数据,节点之间互相连接从而知道整个集群状态。一个集群至少要有3个master主节点(保证投票容错超过半数)。
Redis也内置了高可用机制,支持N个master主节点,每个master节点都可以
挂载多个slave从节点,当master节点挂掉时,集群会提升它的某个slave节
点作为新的master主节点,当主节点修复后,它成为从节点,前面的从节
点成为主节点。

Redis集群的数据分布算法:

Redis集群采用的算法是哈希槽分区算法。Redis集群中有16384个哈希槽
(槽的范围是 0 -16383,哈希槽),将不同的哈希槽分布在不同的Redis节
点上面进行管理,也就是说每个Redis节点只负责一部分的哈希槽。在对数据进
行操作的时候,集群会对使用CRC16算法对key进行计算并对16384取
模(slot = CRC16(key)%16383),得到的结果就是 Key-Value 所放
入的槽,通过这个值,去找到对应的槽所对应的Redis节点,然后直接到这个
对应的节点上进行存取操作。

2、为什么集群中有一个节点挂了,则整个集群都不能用了呢?
如果算出来的值要存入此节点,而此节点又挂了,此时整个集群就不能用了。

     2.0优点:实现扩容分摊压力无中心配置相对简单2.1.Redis 集群的不足多键操作是不被支持的多键的Redis事务是不被支持的。lua脚本不被支持由于集群方案出现较晚,很多公司已经采用了其他的集群方案,而代理或者客户端分片的方案想要迁移至redis cluster,需要整体迁移而不是逐步过渡,复杂度较大。

redis安装和启动相关推荐

  1. mac下查看redis安装路径_干货!win10环境下Redis安装、启动教程

    " 本文详细介绍win10环境下Redis的安装.启动方法." 01 - 下载 Redis项目不正式支持Windows.但是,Microsoft开放技术小组开发和维护一个Windo ...

  2. 03.Redis安装与启动

    02.Redis安装 1. redis官网:https://www.redis.io/ 2.把压缩包通过ftp工具上传linux系统 上传tar.gz包至linux系统,并解压 tar -zxf re ...

  3. redis安装与启动客户端(redis篇一)

    redis安装 1.安装gcc环境,命令:yum install gcc 2.下载redis:wget http://download.redis.io/releases/redis-5.0.4.ta ...

  4. win10下Redis安装、启动教程

    Redis项目不正式支持Windows. 但是,Microsoft开放技术小组开发和维护一个Windows端口针对Win64. 下载地址.这里我们下载 Redis-x64-xxx.zip压缩包到 C ...

  5. redis(一):redis安装和配置

    1 redis安装与启动 1.1. Windows 下载地址:https://github.com/MicrosoftArchive/redis/releases 解压,解压目录下,双击启动服务端re ...

  6. mac系统下Redis安装和使用步骤详解

    本篇文章主要讲述了Mac下Redis的安装的两种方法和使用的经验:第一种通过用brew安装(可能是由于网络原因我没有下载成功,安装失败):第二种官网下载安装包进行安装(安装成功) 一.redis 安装 ...

  7. Redis 笔记(01)— 安装、启动配置、开启远程连接、设置密码、远程连接

    1. Redis 简介 1月份将 <Redis入门指南>过了一遍,现将 Redis 五大类型的常用命令做一总结,留着后续备用. Redis 是 RemoteDictionary Serve ...

  8. Redis 安装 启动 连接 配置 重启

    Linux下安装 ]# wget http://download.redis.io/releases/redis-2.8.17.tar.gz ]# tar xzf redis-2.8.17.tar.g ...

  9. Redis 安装启动

    服务端安装 1.Linux 安装 参考: CentOS7 安装Redis 单实例https://gper.club/articles/7e7e7f7ff7g5egc4g6b Docker 安装Rabb ...

最新文章

  1. ubuntu 使用阿里云 apt 源
  2. Android事件流程详解
  3. codechef INSQ15_A(hash+二分)
  4. pip无法更新_TensorFlow 2.0「开发者预览版」上线,内容每日更新
  5. 数据库实现列值合并为行
  6. Silverlight 下换肤的实现
  7. IsPostBack须要注意的地方,这些都不是POSTBACK动作
  8. JQuery源码笔记jQuery.access研究学习(13)
  9. win7 vmware虚拟机 中 mac系统无法上网
  10. MFCC里面的log energy和matlab实现
  11. java中接口可以产生数组吗,java接口Array介绍
  12. 【Java面试题】9 abstract class和interface有什么区别?
  13. 怎么设置ppt页面的长度和宽度_ppt幻灯片的尺寸大小要设置成多少厘米的,但是我的页面设置的大小单位是英寸,怎么设置...
  14. 缅怀2022,展望2023
  15. NOIP2020微信步数
  16. (附源码连接)利用AI将2D照片合成3D场景
  17. Cesium加载大数据量地下管线
  18. 数据库查询时出现 unknown column
  19. 服务器无法用u盘安装系统安装win7系统安装不了怎么办,为什么新电脑不支持安装Win7操作系统?...
  20. Vue修改网页浏览器标签的标题和图标

热门文章

  1. 深度deep Linux系统软件应用商店下载地址
  2. 脱颖而出 你凭什么得到一份好工作
  3. [计算机视觉] 什么是齐次坐标?为什么要引入齐次坐标?
  4. 《数据库应用系统实践》------ 超市管理系统
  5. 实现自定义小圆圈加载
  6. 教你一招:使用最快速的方式激活windows10专业版
  7. 线程wait和notify方法
  8. 浅析多元回归中的“三差”:离差(Deviation)、残差(Residual)与误差(Error)
  9. Linux中chown、chmod、chgrp的区别和用法
  10. 【java毕业设计】基于javaEE+SSH+SqlServer的企业车辆管理系统设计与实现(毕业论文+程序源码)——车辆管理系统