redis笔记之一

孤街浪徒 提交于 2020-01-04 01:11:55

NoSQL简介

全称是Not Only SQL,泛指菲关系型数据库,它是通过键值对存储数据并且将数据存储在内存中。而像mysql,sql server这些通过关系表存数据的就叫关系型数据库

为什么需要NoSQL

主要传统的关系型数据库暴露了许多问题
1.对数据库高并发读写的需求
高并发就是同一时间有许多用户访问同一网站造成访问量太大容易造成服务器崩溃,而传统的解决方法就是搭建集群,通俗的讲就是原先一个服务器提供服务,现在变成多个服务器提供服务

2.高负载-对海量数据的高效率存储和访问的需求
通俗的讲就是数据量非常大,造成没地方存储或者访问查询sql的语句超过上千万造成查询非常低下

3.高扩展-对数据库的高可扩展性和高可用性的需求
通俗的讲相当于银行窗口排队,刚开始一个窗口不能满足需求,后来增加多个窗口,而增加窗口不会造成业务上的不同,也就是集群起来很方便

主流的NoSQL产品

主要有四大类
1.键值(key-value)存储数据库
主流产品:redis
典型应用:内容缓存,主要用于处理大量数据的高访问负载
优势:快速查询
劣势:存储的数据缺少结构化

2.列存储数据库
主流产品:HBase
典型应用:分布式的文件系统
优势:查询速度快,可扩展性强,更容易进行分布式扩展
劣势:功能相对局限

3.文档数据库
主流产品:MongoDB
典型应用:web应用
优势:数据结构要求不严格
劣势:查询效率不高,而且缺乏统一的查询语法

4.图形数据库
主流产品:Neo4j
典型应用:社交网络
优势:利用图结构相关算法
劣势:不容易做分布式集群的方案

NoSQL特点

在大数据存取上具备关系型数据库无法比拟的性能优势
1.易扩展
2.大数据量,高性能大专栏  redis笔记之一r/>3.灵活的数据模型
4.高可用

redis简介

redis是用c语言开发的一个开源的高性能键值对数据库它通过提供多种键值数据类型来适应不同场景下的存储需求,主要支持字符串、散列、列表、集合、有序集合数据类型
主要应用在如下场景
1.缓存(数据查询、商品内容等等)
2.聊天室的在线好友列表
3.任务队列(秒杀、抢购等等)
4.应用排行榜
5.网站访问统计
6.数据过期处理
7.分布式集群架构中的session分离

redis的环境搭建

在windows下很方便,直接解压windows版本redis,里面有个服务端和客户端,先开启服务端,在操控客户端即可
下面是在linux下的redis安装

1.将redis-3.0.0.tar.gz上传到Linux系统中
2.安装gcc编译环境 sudo apt-get install gcc
3.解压到/usr/local下 tar -xvf redis-3.0.0.tar.gz -C /usr/local
4)进入redis-3.0.0目录 使用make命令编译redis
5.在redis-3.0.0目录中 使用make PREFIX=/usr/local/redis install命令安装redis到/usr/local/redis中
6)拷贝redis-3.0.0中的redis.conf到安装目录redis中
7)启动redis 在bin下执行命令redis-server redis.conf
8.测试,开启另一个客户端,在bin目录下执行 ./redis-cli
如果出现ip号则证明安装成功

这里需要改进的几个地方,服务端是在前端启动应改为后端启动,可以通过修改配置文件 配置redis后台启动,即服务器启动了但不会 穿件控制台窗口
将redis.conf文件中的daemonize从false修改成true表示后台启动
如需远程连接redis,需配置redis端口6379在linux防火墙中开发
/sbin/iptables -I INPUT -p tcp –dport 6379 -j ACCEPT
最后通过测试发现远程连接也成功了

redis停止

有两种方法,一种是空过查询进程pid,然后杀死进程
ps -ef | grep redis
kill -9 pid

另一种是在客户端通过
shutdown命令关闭redis

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!