没有合适的资源?快使用搜索试试~ 我知道了~
个人学习redis时,总结摘录出的关于reids一般介绍。一些命令。怎么在java中使用等
资源详情
资源评论
资源推荐
Redis 笔记
Auth: 王庭
第一章 NoSql 入门和概述
1、单机 mysql 数据库
上述架构下,我们来看看数据存储的瓶颈是什么?
1.数据量的总大小 一个机器放不下时
2.数据的索引(B+ Tree)一个机器的内存放不下时
3.访问量(读写混合)一个实例不能承受
2、Memcached(缓存)+MySQL+垂直拆分
Memcached 作为一个独立的分布式的缓存服务器,为多个 web 服务器提供了一个共享的
高性能缓存服务,在 Memcached 服务器上,又发展了根据 hash 算法来进行多台
Memcached 缓存服务的扩展,然后又出现了一致性 hash 来解决增加或减少缓存服务器导致
重新 hash 带来的大量缓存失效的弊端
3、Mysql 主从读写分离
由于数据库的写入压力增加,Memcached 只能缓解数据库的读取压力。读写集中在一个数
据库上让数据库不堪重负,大部分网站开始使用主从复制技术来达到读写分离,以提高读
写性能和读库的可扩展性。Mysql 的 master-slave 模式成为这个时候的网站标配了。
4、分表分库+水平拆分+mysql 集群
在 Memcached 的高速缓存,MySQL 的主从复制,读写分离的基础之上,这时 MySQL 主库
的写压力开始出现瓶颈,而数据量的持续猛增,由于 MyISAM 使用表锁,在高并发下会出
现严重的锁问题,大量的高并发 MySQL 应用开始使用 InnoDB 引擎代替 MyISAM。
同时,开始流行使用分表分库来缓解写压力和数据增长的扩展问题。这个时候,分表分库
成了一个热门技术,是面试的热门问题也是业界讨论的热门技术问题。也就在这个时候,
MySQL 推出了还不太稳定的表分区,这也给技术实力一般的公司带来了希望。虽然 MySQL
推出了 MySQL Cluster 集群,但性能也不能很好满足互联网的要求,只是在高可靠性上提供
了非常大的保证。
5 MySQL 的扩展性瓶颈
MySQL 数据库也经常存储一些大文本字段,导致数据库表非常的大,在做数据库恢复的时
候就导致非常的慢,不容易快速恢复数据库。比如 1000 万 4KB 大小的文本就接近 40GB 的
大小,如果能把这些数据从 MySQL 省去,MySQL 将变得非常的小。关系数据库很强大,但
是它并不能很好的应付所有的应用场景。MySQL 的扩展性差(需要复杂的技术来实现),
大数据下 IO 压力大,表结构更改困难,正是当前使用 MySQL 的开发人员面临的问题。
7 为什么用 NoSQL
今天我们可以通过第三方平台(如:Google,Facebook 等)可以很容易的访问和抓取数据。
用户的个人信息,社交网络,地理位置,用户生成的数据和用户操作日志已经成倍的增加。
我们如果要对这些用户数据进行挖掘,那 SQL 数据库已经不适合这些应用了, NoSQL 数据库
的发展也却能很好的处理这些大的数据。
8、互联网 3V +3 高
3V: 海量 Volume、多样 Variety、实时 Velocity
3 高: 高并发、高可扩、高性能
9、当下的 NoSQL 经典应用
当下的应用是 sql 和 nosql 一起使用
将热点数据放在缓存中、冷数据存放于关系型数据库
10、NoSQL 数据库的四大分类
KV 键值、文档型数据库(bson 格式比较多)、列存储数据库、图关系数据库
第二章、redis 入门介绍
1、入门概述
远程字典服务器
与其他 缓存产品有以下三个特点
支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以
再次加载进行使用
不仅仅支持简单的 类型的数据,同时还提供
,,, 等数据结构的存储
支持数据的备份,即 模式的数据备份
2、Redis Linux 版本的安装
、下载获得 ! " # 后将它放入我们的 $% 目录&'
、&' 目录下,解压命令%( ! " #
、解压完成后出现文件夹: ! "
"、进入目录 ! "
)、在 ! " 目录下执行 命令
*、如果 完成后继续执行
+、查看默认安装目录:&&,
,性能测试工具,可以在自己本子运行,看看自己本子性能(服务
启动起来后执行)
(:修复有问题的 -./ 文件,, 和 ( 后面讲
" ':修复有问题的 ' , 文件
) :客户端,操作入口
* : 集群使用
+ : 服务器启动命令启动
0、启动
修改 ( 文件将里面的 改成 ,让服务在后台启动
将默认的 ( 拷贝到自己定义好的一个路径下,比如&(
启动
" 连通测试
) &&&, 目录下运行 ,运行拷贝出存放了自定义 ( 文件
目录下的 ( 文件
1、关闭
)单实例关闭:2
)多实例关闭,指定端口关闭'*+12
!、 启动后杂项基础知识讲解
单进程
单进程模型来处理客户端的请求。对读写等事件的响应
是通过对 ' 函数的包装来做到的。 的实际处理速度完全依靠主进程的执行效率
' 是 $% 内核为处理大批量文件描述符而作了改进的 ',是 $% 下
多路复用 . 接口 &' 的增强版本,
它能显著提高程序在大量并发连接中只有少量活跃的情况下的系统 345 利用率。
默认 * 个数据库,类似数组下表从零开始,初始默认使用零号库
命令切换数据库
, 查看当前数据库的 的数量
6,:清空当前库
/;通杀全部库
统一密码管理,* 个库都是同样密码,要么都 .7 要么一个也连接不上
索引都是从零开始
为什么默认端口是 *+1
第三章、Redis 数据类型
注: key 全部都是 String 类型
1、Redis (value)的五大数据类型
#(字符串)
(哈希,类似 8 里的 9')
(列表)
(集合)
:有序集合
2、Redis 键(key)
常用
案例
:
% 的名字,判断某个 是否存在
,;当前库就没有了,被移除了
%'秒钟:为给定的 设置过期时间
查看还有多少秒过期, 表示永不过期, 表示已过期
'查看你的 是什么类型
3、Redis 字符串(String)
、常用
、单值单
、案例
&#&&''&
&&,&,<一定要是数字才能进行加减
##&#
%2%'键 秒 值&%(%
&#&%批量设置时,只要有一个 存在,整个批量设置失败
#先 # 再
4、Redis 列表(List)
、常用
、单值多
、案例
'&'&#
''&''
%,按照索引下标获得元素从上到下
删 = 个
开始 %结束 %,截取指定范围的值后再赋值给
'''源列表 目的列表
%
,(&(值 值
性能总结
5、Redis 集合(Set)
、常用
、单值多
、案例
&,&,
,获取集合里面的元素个数
删除集合中元素
,某个整数随机出几个数
''随机出栈
在 里某个值 作用是将 里的某个值赋给
数学集合类
差集:>
交集:
并集:
6、Redis 哈希(Hash)
、常用
、7? 模式不变,但 ? 是一个键值对
、案例
&#&&#&#&
%在 里面的某个值的
&
,&,6
%
7、Redis 有序集合 Zset(sorted set)
、多说一句
在 基础上,加一个 值。之前 是 ,现在 是
、常用
、案例
@
#2<取值的时候 带上分数一起
#,开始 结束
A取值的时候带上分数
不包含
作用是返回限制
开始下标步 多少步
某 下对应的 值,作用是删除元素
& 区间& 值,作用是获得下标值&
对应值<获得分数
值,作用是逆序获得下标值
#
#,结束 开始
剩余22页未读,继续阅读
michealwanglalala
- 粉丝: 0
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- pta题库答案c语言之复杂度1最大子列和问题.zip
- 三维装箱问题(Three-Dimensional Bin Packing Problem,3D-BPP)是一个经典的组合优化问题
- 以下是一些关于Linux线程同步的基本概念和方法.txt
- 以下是一个简化的示例,它使用pygame库来模拟烟花动画的框架.txt
- Linux线程同步机制深度解析与实用指南.zip
- PTA题库C语言解题策略与实战.rar
- SVPWM控制技术的simulink建模与仿真【包括simulink模型,参考文献,操作步骤】
- AI高清修复图片画质易语言易语言源码易语言填表
- 映射窗口.ec易语言易语言模块CPU占用0%游戏监控窗口监控
- 易语言 361窗口模块高效、便捷、自封装、自用
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0