0%

NoSQL相关

NoSQL概念

  • 概念

NoSQL即 Not Only SQL,泛指 非关系型数据库。

NoSQL存在的条件

  • 为什么需要NoSQL

    • High Performance 高并发读写
    • Huge Storage 海量数据的高效存储和访问
    • High Scalability && High Availability 高可扩展性和高可用性

    这些对于关系型数据库都是比较有很大的局限性的,但是对于非关系型数据库而言却是其优点。

NoSQL的特点总结

  • 主要特点

    • 易扩展(数据之间没有关系,容易扩展)
    • 灵活的数据模型(不需要像关系型数据库那样事先建立要存储的字段)
    • 大数据量,高性能(读写性能很高)
    • 高可用(在不影响性能的情况下实现高可用的框架)

NoSQL主流产品

  • 主流产品

    • Redis
    • mongoDB
    • membase
    • CouchDB
    • Cassandra

其中Redis和mongoDB比较常见

NoSQL分类

  • 分类

    • 键值(Key-Value)存储(如:Redis,优势是快速查询;劣势是存储的数据缺少结构化)
    • 列存储(优势是快速查询、扩展性也比较强;劣势是功能相对局限)
    • 文档数据库(如:mongoDB,优势是数据结构要求不是很严格;劣势是查询性能不是很好,而且缺少统一的查询语法)
    • 图形数据库(典型的应用是社交网络,优势是利用图结构相关算法;劣势是需要对整个图做计算才能得出结果,不容易做分布式的集群方案)

Redis相关

Redis概述

  • Redis概述

    • Redis是开源的,知乎、新浪微博、Github都在使用Redis
    • C语言开发的
    • 高性能的键值对数据库
    • 官方测试读写性能:读,11w次/s ; 写,8w次/s
  • Redis支持的键值数据类型

    • 字符串类型
    • 列表类型
    • 有序集合类型
    • 散列类型
    • 集合类型
  • Redis应用场景

    • 缓存(最主要的应用场景,比如数据的查询:新闻,商品的内容放入到缓存当中)
    • 任务队列(秒杀,抢购)
    • 网站访问统计
    • 数据过期处理(可以精确到毫秒)
    • 分布式集群架构中的session分离
  • 查看redis服务是否已经启动命令

    ps -ef | grep -i redis

      ps   将某个进程显示出来
      -A  显示所有程序。 
      -e  此参数的效果和指定"A"参数相同。
      -f  显示UID,PPIP,C与STIME栏位。 
      grep命令是查找
      中间的|是管道命令 是指ps命令与grep同时执行
      这条命令的意思是显示有关redis有关的进程
    

UID PID PPID C STIME TTY TIME CMD

各相关信息的意义

daemonize:守护进程
  • redis服务启动/关闭命令
    进入redis安装目录:
    cd redisLocation
    启动服务:
    ./bin/redis-server ./redis.config
    关闭服务:
    ./bin/redis-cli shutdowm

jedis

vim /etc/sysconfig/iptables
加6389端口

简单罗列

NoSQL(非关系型数据库):

redis:key/value键值对存储数据库

mongodb:文档型数据库

hbase:列式数据库

neo4j:图式数据库,存储的是图关系而非行或列。主要用于社交网络的存储。

redis数据结构: String Hash Set SortedSet List

redis事务:multi exec discard

redis 持久化: rdb内存快照 aof命令日志