zoukankan      html  css  js  c++  java
  • redis基础

    1.redis特性

    redis特性
    	基于内存
    	数据持久化(快照,AOF)
    	主从复制
    	集群
    	支持更多的数据类型
    	支持消息订阅
    redis单线程,只能使用1个cpu使用,每秒能承受50万并发
    

    2.redis安装

    yum install epel-release -y
    yum install redis -y
    systemctl start redis 
    systemctl enable redis 
    

    3.redis数据类型

    redis数据类型
    	字符串
    		set ip 1.1.1.1 			//设置键ip的值是1.1.1.1
    		get ip 					//获取键ip的值
    	列表
    	集合
    	有序集合
    	哈希
    

    4.redis认证实现

    #vim /etc/redis.conf 
    requirepass PASSWORD 
    #redis-cli 
    auth PASSWORD 
    

    5.redis清空数据库

    	flushdb:清空当前库
    	flushall:清空所有库
    

    6.redis事务

    	通过multi,exec,watch等命令实现事务功能;将一个或多个命令归为一个操作提请服务器按顺序执行的机制;不支持回滚操作
    	multi :启动一个事务
    	exec :执行事务,一次性将事务中的所有操作执行完成后返回客户端;命令先放在队列中,通过exec一次性提交和执行所有命令
    	watch:乐观锁,在exec命令执行之前,用于监视指定数量键;如果监视中的某任意键数据被修改,则服务器拒绝执行事务;
    
    127.0.0.1:6379> multi 
    OK
    127.0.0.1:6379> set ip 192.168.1.1
    QUEUED
    127.0.0.1:6379> get ip
    QUEUED
    127.0.0.1:6379> set port 8080
    QUEUED
    127.0.0.1:6379> get port
    QUEUED
    127.0.0.1:6379> exec
    

    7.redis命令

    	client list								//获取客户端连接信息
    	client kill ip:port 					//杀死客户端连接
    	info 									//查看服务器状态信息,使用的CPU,内存等信息	client kill  127.0.0.1:57366
    	config resetstat 						//重置info状态信息
    	config set parameter value				//设置配置文件的参数和值到内存中,临时生效	config set requirepass redhat 添加认证
    	config rewrite 							//保存修改的配置文件参数和值到硬盘中,永久生效
    	dbsize									//查看数据库的所有键数量
    	save									//同步,内存数据保存到硬盘中,在主线程中保存快照,此时会阻塞所有客户端请求
    	bgsave									//异步,内存数据保存到硬盘中
    	keys *									//获取所有的键
    

    8.redis 发布与订阅(publish/subscribe),消息队列

    	publish:生产者,指明向频道发布消息;
    	subscribe :消费者,订阅一个或多个队列
    	unsubscribe :退订此前订阅的频道	
    
    127.0.0.1:6379> subscribe news				//订阅news频道
    127.0.0.1:6379> publish news hello			//向news这个频道发送hello消息
    

    9.redis持久化:内存数据保存到硬盘中,两种方式RDB和AOF

    RDB:snapshot,快照,二进制格式;按照事先定制的策略,周期性将数据保存至磁盘;数据文件默认为dump.rdb;客户端也可以使用save或bgsave命令启动快照保存机制
    AOF:Append Only file 记录每一次写操作至指定的文件尾部实现持久化;当redis重启时,可通过重新执行文件中的命令在内存重建数据库
    

    RDB配置文件

    save 900 1									//900秒有1个key变化就保存到磁盘中
    save 300 10
    save 60 10000
    stop-writes-on-bgsave-error yes
    rdbcompression yes
    rdbchecksum yes
    dbfilename "dump.rdb"
    dir "/var/lib/redis"
    
    关闭RDB:save ""
    

    AOF在配置文件相关参数

    appendonly no								//开启aof功能,no为不开启
    appendfilename "appendonly.aof"				//AOF文件名
    appendfsync everysec						//每一秒写一次
    no-appendfsync-on-rewrite no				//重写是否调用rsync
    auto-aof-rewrite-percentage 100				//当前上次重写两被,触发一次重写操作
    auto-aof-rewrite-min-size 64mb				//触发重写最小值
    aof-load-truncated yes						//
    
  • 相关阅读:
    HashMap源码分析——基于jdk1.7
    HashMap线程不安全的体现
    Java线程状态转换
    Java多线程——中断机制
    ThreadPoolExecutor解析
    Java中的CAS原理
    AQS框架源码分析-AbstractQueuedSynchronizer
    深入学习CSS外边距margin(重叠效果,margin传递效果,margin:auto实现块级元素水平垂直居中效果)
    CSS布局 两列布局之单列定宽,单列自适应布局思路
    JavaScript 基本类型和引用类型
  • 原文地址:https://www.cnblogs.com/lovelinux199075/p/9097558.html
Copyright © 2011-2022 走看看