| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> Redis数据库(一) -> 正文阅读 |
|
[大数据]Redis数据库(一) |
目录 一、Redis数据库1、简介redis是一个开源的、使用c语言编写的NoAQL数据库。Redis基于内存运行并支持持久化,采用key-value键值对的存储形式,是目前分布式架构中不可或缺的一环。 Redis是服务器程序是单进程模型,也就是在一台服务器上可以同时启动多个Redis进程,Redis的实际处理速度啧是完全依靠于主进程的执行效率,若在服务器上值运行一个redis进程,当多个客户端同时访问,服务器的处理能力会有一定的下降。若是在同一个服务器上开启多个redis进程,redis在提高并发处理能力的同时会给服务器的cpu造成很大压力。即在实际生产环境中,需要根据实际的需求来决定开启多少个redis的进程,并对高并发要求更高一些,可能会考虑在同一台服务器上开启多个进程。若cpu资源比较吃紧,可以采用单进程。 2、redis优点①极高的数据读写速度数据读取的速度最高可达110000次/s,数据写入速度最高可达到81000次/s。 ②丰富的数据类型支持key-value、Strings、Lists、Hashes、Sets及Ordered Sets等数据来支持操作。 ③数据持久化可以将内存中的数据写入到磁盘中,重启的时候可以再次加载进行使用。 ④原子性Redis所有操作都具有原子性。 ⑤数据备份master-slave模式的数据备份。 二、非关系型和关系型数据库1、非关系型数据库①NoSQL,是非关系型数据库的总称 ②除了主流的关系型数据库外的数据库,都认为是非关系型 ③主流的NoSQL数据库有Redis、MongoDB、Hbase、CouhDB等 不需要预先建立库和表定义数据存储表结构,每条记录可以有不同的数据类型和字段个数 2、关系型数据库①一个结构化的数据库,创建在关系模型基础上 ②一般面向于记录 ③主流的关系型数据库包括Oracle、MySQL、SQL Server、Microsoft Access、DB2等 以上数据库在使用的时候必须先建库建表设计表结构,然后存储数据的时候按表结构去存,如果数据与表结构不匹配就会存储失败。 3、关系型和非关系型的区别①存储方式不同关系型是表格式,存储在数据表的行和列中,表与表之间相互关联、协作存储。 非关系型是存储在数据集中。 ②扩展方式不同关系型是纵向扩展,有很大的扩展空间,但是最终还是会达到纵向扩展的上限。 非关系型是横向扩展,因为非关系型数据库存储是分布式的,所以扩展可以通过给资源池添加更多普通的数据库服务器节点来分担负载。 ③对事务的支持不同关系型数据库在性能和稳定性方面占优,支持对事务原子性细粒度控制,易于回滚。 非关系型数据库在操作的扩展性和大数据量处理方面占优。 三、Redis部署1、安装依赖环境2、编译安装? 解压 make完成后?make PREFIX=/usr/local/redis install 因为redis源码包中直接提供了makefile文件,所以可以不用执行configure,直接make和make install 3、安装在软件包的utils目录下有一个install_server.sh文件,文件里设置redis服务器所需要的相关配置文件? ?①默认端口6379 ②配置文件路径 ③日志文件路径 ④数据文件路径 ⑤可执行文件路径 这里需要手动输入可执行文件路径 ⑥客户端命令工具 4、创建软连接把redis的可执行程序文件放入路径环境变量的目录下便于系统识别 ?5、修改配置参数vim /etc/redis/6379.conf 70行添加监听的主机地址 93行,redis的默认监听端口 ? 137行,启用守护进程 ? 159行,指定PID文件
167行,日志级别 172行,指定日志文件 ?四、redis的命令工具1、工具类型①redis-server用于启动redis的工具 ②redis-benchmark用于检测redis在本机的运行效率 ③redis-check-aof修复AOF持久化文件 ④redis-check-rdb修复RDB持久化文件 ⑤redis-cliredis命令行工具 2、redis-cli选项 -h? ? ? ? 指定远程主机 -p? ? ? ? 指定redis服务的端口 -a? ? ? ? 指定密码,未设置数据库密码可以省略-a选项
3、redis-benchmark测试工具redis-benchmark是官方自带的redis的性能测试工具,可以有效测试redis服务的性能。 ①语法redis-benchmark? ? ? ? ?选项? ? ? ? 选项值 ②选项-h? ? ? ? 指定服务器主机名? -p? ? ? ? 指定服务器端口 -s? ? ? ? 指定服务器socket -c? ? ? ? 指定并发连接数 -n? ? ? ? 指定请求数 -d? ? ? ? 以字节的形式指定set/get值得数据大小 -k? ? ? ? 1=keepalive? ? ?0=reconnect -r? ? ? ? set/get/incr使用随机key,sadd使用随机值 -P? ? ? ? 通过管道传输 -q? ? ? ? 强制退出redis,仅显示query/sec值 -csv? ? ?以csv格式输出 -l? ? ? ? 生成循环,永久执行测试 -t? ? ? ? 进运行以逗号分隔得测试命令列表 -I? ? ? ? idle模式?,仅打开N个idle连接并等待 ③测试向192.168.10.101主机,并发1k,一共100k。 ?4、redus数据库命令①set存放数据? ? ? ? set? key? value ②get获取数据? ? ? ? get? key ③keys命令可以取符合规则得键值列表 ④exists判断键值是否存在 ⑤del删除当前数据库指定key ⑥type获取key对应得value类型 五、数据库操作1、存放获取数据2、查看键3、删除
4、判断是否存在
0代表不存在,1代表存在 5、重命名(会覆盖已存在)
6、重命名(不覆盖)0表示失败,因为已存在
1表示成功 7、查看当前数据库中key得个数
8、获取值类型
9、设置密码10、删除密码11、切换数据库12、移动数据?13、清除数据①清空当前②清空全部?flushall ? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年5日历 | -2025/5/11 7:39:06- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |