redis学习笔记——(1)
1. NoSQL&Redis介绍
NoSQL,Not Only SQL,是非关系型的数据库。传统的关系数据库不能满足超大规模和高并发的应用。
是以Key-Value的形式存储,(例如JSON,XML),不一定遵循传统数据库的一些基本要求,比如SQL标准、ACID属性(Atomicity/ Consistency/Isolation/Durability)、表结构等。主要有以下的特点:非关系型的、分步式的、开源的、水平可扩展的(指能够连接多个软硬件的特性)。
NoSQL适用场景:
1)、High performance - 对数据高并发读写
2)、Huge storage - 对海量数据的高效率存储和访问
3)、High scalability && HighAvailability - 对数据的高可扩展性和高可用性
开源的NoSQL数据库:Redis, MongoDB, Cassandra…...
Redis的介绍
Redis是一个Key-Value存储系统。它支持存储的value类型有:string(字符串),list(链表), set(无序集合),zset(sorted set有序集合)和hash,也可以把redis看成一个数据结构服务器。这些数据类型都支持pust/pop、add/remove及取交集、并集和差集运算,Redis支持各种不同方式的排序。数据都是缓存在内存中的,它也可以周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并实现了master-slave(主从)同步。
Redis提供的API语言包括C、C++、C#、Java、JavaScript、Lua、Objective-C、Perl、PHP、Python、Ruby、Go、Tcl等。
使用Redis:新浪微博,200+ Server、400 port、4G data.
使用方式:与memcache相同
1. 应用程序直接访问Redis数据库;
2. 应用程序直接访问Redis,只有当访问Redis失败时才访问MySQL
应用场合:
1. 取最新N个数据的操作
2. 排行榜应用
3. 需要精确设定过期时间的应用
4. 计数器应用
5. Uniq操作,获取某段时间所有数据排重值
6. 实时系统,反垃圾系统
7. Pub/Sub构建实时消息系统
8. 构建队列系统
9. 缓存
10. 存储微博关注关系
Redis有库无表无字段无行列。MongoDB有库有集合(对应于Mysql中的表)
2. Redis的安装
官网:http://redis.io
步骤一:
下载安装包:
wget http://redis.googlecode.com/files/redis-2.4.17.tar.gz
步骤二:
编译源代码:
tarzxvf redis-2.4.17.tar.gz
cdredis-2.4.17
make
cdsrc
makeinstall
注:make完成后,有产生可执行文件
redis-server:redis服务器的启动程序
redis-cli:redis命令行工具,也可为客户端
redis-benchmark:redis性能测试工具(读写)
redis-stat:redis状态检测工具(状态参数延迟)
步骤三:(非必须)
移动文件,便于管理
mkdir –p /usr/local/redis/bin
mkdir –p /usr/local/redis/etc
mv redis-2.4.17/redis.conf/usr/local/redis/etc
mvmkreleasehdr.sh redis-benchmark redis-check-aof redis-check-dump redis-cli redis-server /usr/lcoal/redis/bin
步骤四:
启动redis服务
/usr/local/redis/bin/redis-server(有警告,没有加载配置文件)
/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf
Redis服务端的默认连接端口是6379
Redis默认不是后台运行
步骤五:
客户端连接
/usr/local/redis/bin/redis-cli
或者其他客户端:如phpredis
- $redis = new Redis();
- $redis->connect(“127.0.0.1”, 6379);
步骤六:
停止Redis
/usr/local/redis/bin/redis-clishutdown
or
pkill redis-server
3. Redis的配置
daemonize 如果需要在后台运行,把该项改为yes
pidfile 配置多个pid的地址,默认在/var/run/redis.pid
bind 绑定ip,设置后只接受自该ip的请求
port 监听端口,默认为6379
timeout 设置客户端连接时的超时时间,单位为秒
loglevel 分为4级,debug、verbose、notice、warning
logfile 配置log文件地址
databases 设置数据库的个数,默认使用的数据库为0
save 设置redis进行数据库镜像的频率,保存快照的频率,第一个*表示多长时间, 第三个*表示执行多少次写操作。在一定时间内执行一定数量的写操作时,自动保存快照。可设置多个条件。
rdbcompression 在进行镜像备份时,是否进行压缩
Dbfilename 镜像备份文件的文件名
Dir 数据库镜像备份的文件放置路径
Slaveof 设置数据库为其他数据库的从数据库
Masterauth 主数据库连接需要的密码验证
Requirepass 设置登录时需要使用的密码
Maxclients 限制同时连接的客户数量
Maxmemory 设置redis能够使用的最大内存
Appendonly 开启append only模式
appendfsync 设置对appendonly.aof文件同步的频率
vm-enabled 是否虚拟内存的支持
vm-swap-file 设置虚拟内存的交换文件路径
vm-max-memory 设置redis使用的最大物理内存大小
vm-page-size 设置虚拟内存的页大小
vm-pages 设置交换文件的总page数量
vm-max-threads 设置VMIO同时使用的线程数量
glueoutputbuf 把小的输出缓存存放在一起
hash-max-zipmap-entries 设置hash的临界值
activerehashing 重新hash
转载于:https://www.cnblogs.com/dyc-cfc/p/4262616.html
redis学习笔记——(1)相关推荐
- Redis学习笔记 - 数据类型与API(1)Key
Redis学习笔记 - 数据类型与API(1)Key Key相关命令 1. 常用命令 命令 含义 时间复杂度 keys 查找所有符合给定模式 pattern 的 key O(N), N 为数据库中 k ...
- Redis学习笔记~Redis在windows环境下的安装
Redis是一个key-value的存储系统,它最大的特点就是可以将数据序列化到文件中. redis存储在服务器的内存或者文件中,它不是session,不是cookies,它只是个更安全,更稳定,更可 ...
- redis学习笔记-持久化
redis学习笔记-持久化 前言 redis持久化有两种方式:RDB和AOF.分别对应着全量复制和增量复制.深刻理解各自的实现方式及适用场景对redis的使用和运维十分重要.下面就分别介绍. RDB持 ...
- StackExchange.Redis学习笔记(五) 发布和订阅
StackExchange.Redis学习笔记(五) 发布和订阅 原文:StackExchange.Redis学习笔记(五) 发布和订阅 Redis命令中的Pub/Sub Redis在 2.0之后的版 ...
- Redis学习笔记~分布式的Pub/Sub模式
redis的客户端有很多,这次用它的pub/sub发布与订阅我选择了StackExchange.Redis,发布与订阅大家应该很清楚了,首先一个订阅者,订阅一个服务,服务执行一些处理程序(可能是写个日 ...
- Redis学习笔记——SpringDataRedis的使用
与Spring集成 我需要哪些jar包? <dependency><groupId>org.springframework.data</groupId><ar ...
- Redis学习笔记(五)——持久化及redis.conf配置文件叙述
对于日常使用来说,学习完SpringBoot集成Redis就够我们工作中使用了,但是既然学习了,我们就学习一些Redis的配置及概念,使我们可以更深层次的理解Redis,以及增强我们的面试成功概率,接 ...
- Redis学习笔记1-理论篇
目录 1,Redis 数据类型的底层结构 1.1,Redis 中的数据类型 1.2,全局哈希表 1.3,数据类型的底层结构 1.4,哈希冲突 1.5,rehash 操作 2,Redis 的 IO 模型 ...
- Redis学习笔记(实战篇)(自用)
Redis学习笔记(实战篇)(自用) 本文根据黑马程序员的课程资料与百度搜索的资料共同整理所得,仅用于学习使用,如有侵权,请联系删除 文章目录 Redis学习笔记(实战篇)(自用) 1.基于Sessi ...
- Redis学习笔记(B站狂神说)(自己总结方便复习)
Redis学习笔记B站狂神说 redis: 非关系型数据库 一.NoSQL概述 1.为什么要用Nosql 1.单机Mysql的年代 思考一下,这种情况下:整个网站的瓶颈是什么? 1.数据量如果太大,一 ...
最新文章
- 基于图像的三维模型重建——稠密点云重建
- AD学习笔记----PCB设计
- 邮件中链接审批被公司邮件服务器自动操作了,Exchange 2010 实现邮件审批功能...
- 【ARM】Tiny4412裸板编程之异常
- java计算数组均值
- 为指定c 语言源程序添加行号,给自己的程序加上行号
- 登录服务器修改数据库吗,如何修改服务器登录数据库 sa
- CF1131 G. Most Dangerous Shark(DP+单调栈优化)
- CC2540 串口0 通道2配置
- linux pidof用法,科技常识:Linux pidof命令使用总结
- 7.1 API:GaussianMixture
- [Linux程序设计][调试][splint]
- 3至六年级计算机知识,小学三至六年级下册信息技术教学计划范文
- 10道Struts2面试题
- u深度重装系统详细教程_U盘怎样使用U深度给电脑装系统教程
- Topaz Glow for Mac 2.0.0 破解版下载 PS光效果滤镜 发光光线效果
- 2020电信宽带费用_现在电信宽带多少钱一年,2020年电信宽带套餐价格表
- IDEA中suppress warnings
- oracle与sql语句
- 《卓有成效的管理者》笔记,第一章 卓有成效是可以学会的
热门文章
- Jira 随便总结
- vector 中的元素去重
- 怎么用python画饼状图_Python入门进阶:Python绘制饼图到Microsoft Excel
- skype 回放设备出现问题
- Matlab英文操作系统下中文乱码的解决方案
- centos8 linux部署node项目
- AUTOSAR从入门到精通100讲(三十九)-AUTOSAR 通信服务-Com模块两部曲-概念详解
- 汽车电子专业知识篇(三)-双目视觉三大应用视觉深度、标定、立体匹配
- 神经网络Drop大法真香定律
- java bundle_java.util.ResourceBundle国际化用法详解