Redis基本概念(一)

一、Redis简介:

Redis是一种数据库。能够存储数据、管理数据的一种软件。

Redis的特点

  1. 支持数据持久化
    Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用。
  2. 支持多种数据结构
    Redis不仅仅支持简单的 key-value字符串(strings) 类型的数据,同时还提供哈希表(hashes)列表(lists)集合(sets)有序集合(sorted sets) 等数据结构的存储。
  3. 支持数据备份
    Redis支持数据的备份,即master-slave模式的数据备份。

二、数据库应用的发展历程:

单机数据库时代(一个应用,一个数据库实例)
缓存、水平切分时代
读写分离时代
分表分库时代(集群)

关系型数据库:oraclemysqlDB2sqlserver、…

非关系型数据库(NoSql): 彻底改变底层存储机制。不再采用关系数据模型,而是采用聚合数据结构存储数据。
redismongoDBHBase、…

三、Nosql数据模型:

关系型数据库:
Redis基本概念(一)_第1张图片

非关系型数据库:聚合模型—把一组相关联的数据作为一个整体进行存储和管理。
BSON:数据保存到键值对中、数据和数据之间用逗号隔开,{}表示对象,[]表示数组。

[
{
     id:990101,name:章三,sex:男,code:102001},
{
     id:990102,name:李辉,sex:男,code:102001},
{
     id:990103,name:黄化,sex:女,code:102002}
]

K-V键值对、列簇、图表模型等。
Redis采用的是K-V模型存储数据的。

四、Redis——Remote Dictionary Server(远程字典服务器)

Remote Dictionary Server(远程字典服务器),是一个用C语言编写的、开源的、基于内存运行并支持持久化的、高性能的NoSQL数据库.也是当前热门的NoSQL数据库之一。

Redis中的数据大部分时间都是存储内存中的,适合存储频繁访问、数据量比较小的数据。缓存数据库

五、安装redis(Linux)。

下载:
解压:tar -zxvf ...
编译:make
需要先安装gcc
编译结果:在redis的安装目录下src目录中,生成redis的一系列可执行文件。
安装:make install
把redis的安装目录下src目录中生成redis的一系列可执行文件拷贝到/usr/local/bin中,
在任何目录下都可以执行redis命令。

六、启动redis服务:

  • 前台启动:在任何目录下执行 redis-server
  • 后台启动:在任何目录下执行 redis-server &
  • 启动redis服务时,指定配置文件:redis-server redis.conf &

七、关闭redis服务:

  • 通过kill命令:
    ps -ef | grep redis查看pid
    kill -9 pid
  • 通过redis-cli命令关闭:
    redis-cli shutdown

八、redis的客户端:用来连接redis服务,向redis服务端发送命令,并且显示redis服务处理结果。

redis-cli:是redis自带客户端,使用命令redis-cli就可以启动redis的客户端程序。

./mysql -uroot -p

redis-cli:默认连接127.0.0.1(本机)的6379端口上的redis服务。
redis-cli -p 端口号:连接127.0.0.1(本机)的指定端口上的redis服务。
redis-cli -h ip地址 -p 端口:连接指定ip主机上的指定端口的redis服务。

九、退出客户端:

在客户端执行命令:exit或者quit

十、redis的基本知识:

  1. 测试redis服务的性能:
    redis-benchmark
  2. 查看redis服务是否正常运行:
    ping 如果正常—pong
  3. 查看redis服务器的统计信息:
    info 查看redis服务的所有统计信息
    info [信息段] 查看redis服务器的指定的统计信息,如:info Replication
  4. redis的数据库实例:
  • 作用类似于mysql的数据库实例,redis中的数据库实例只能由redis服务来创建和维护,开发人员不能修改和自行创建数据库实例;
  • 默认情况下,redis会自动创建16个数据库实例,并且给这些数据库实例进行编号,从0开始,一直到15,使用时通过编号来使用数据库;
  • 可以通过配置文件,指定redis自动创建的数据库个数;
  • redis的每一个数据库实例本身占用的存储空间是很少的,所以也不造成存储空间的太多浪费。
  • 默认情况下,redis客户端连接的是编号是0的数据库实例;可以使用select index切换数据库实例。
  1. 查看当前数据库实例中所有key的数量:dbsize
  2. 查看当前数据库实例中所有的key:keys *
  3. 清空数据库实例:flushdb
  4. 清空所有的数据库实例:flushall
  5. 查看redis中所有的配置信息:config get *
  6. 查看redis中的指定的配置信息:config get parameter

十一、Redis的五种数据结构:

程序是用来处理数据的,Redis是用来存储数据的;程序处理完的数据要存储到redis中,不同特点的数据要存储在Redis中不同类型的数据结构中。

  • 符串类型 string
    字符串类型是Redis中最基本的数据结构,它能存储任何类型的数据,包括二进制数
    据,序列化后的数据,JSON化的对象甚至是一张图片。最大512M。
    Redis基本概念(一)_第2张图片

  • 列表类型 list
    Redis列表是简单的字符串列表,按照插入顺序排序,元素可以重复。你可以添加一个元素到列表的头部(左边)或者尾部(右边),底层是个链表结构。
    Redis基本概念(一)_第3张图片

  • 集合类型 set
    Redis的Set是string类型的无序无重复集合。
    Redis基本概念(一)_第4张图片

  • 哈希类型 hash
    Redis hash 是一个string类型的field和value的映射表,hash特别适合用于存储对象。。
    Redis基本概念(一)_第5张图片

  • 有序集合类型 zset (sorted set)
    Redis 有序集合zset和集合set一样也是string类型元素的集合,且不允许重复的成员。
    不同的是zset的每个元素都会关联一个分数(分数可以重复),redis通过分数来为集合中的成员进行从小到大的排序。。
    Redis基本概念(一)_第6张图片

你可能感兴趣的:(Redis,redis,数据库,nosql)