zoukankan      html  css  js  c++  java
  • 2.Redis 入门介绍

    A)入门概述:

      1.是什么:

        Redis:REmote  Dlctionary  Server(远程字典服务器)

        是完全开源免费的,用C语言编写的,遵循BSD协议,是一个高性能的(key/value)分布式内存数据库,基于内存运行并支持持久化的NoSQL数据库,是当前最热门的NoSQL数据库之一,也被人们称为数据结构服务器

        Redis与其他 key - value 缓存产品相比有以下三个特点:1.Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载使用;;;2.Redis不仅仅支持简单的key-value 类型的数据,同时还提供list,set,zset,hash等数据结构的存储;;;3.Redis支持数据的备份,即master-slave模式的数据备份

      

      2.能干吗

        内存存储和持久化:redis支持异步将内存中的数据写到硬盘上,同时不影响继续服务

        取最新N个数据的操作,如:可以将最新的10条评论的ID放在Redis的List集合里面  

        模拟类似于HttpSession这种需要设定过期时间的功能

        发布、订阅消息系统

        定时器、计数器

      

      3.去哪下  http://redis.io/     http://www.redis.cn/

      4.怎么玩   

        数据类型、基本操作和配置

        持久化和复制,RDB/AOF

        事务的控制

        主从复制

    B)虚拟机及Linux系统的安装

    C)Redis的安装        Linux版安装

      下载获得 redis-3.0.4.tar.gz 后将它放到我们的Linux   /opt目录下

      /opt目录下,解压命令:tar -zxvf redis-3.0.4.tar.gz

      解压完成后出现文件夹:redis-3.0.4 

      进入目录:cd redis-3.0.4   

      在redis-3.0.4目录下执行make命令(如果没有安装 gcc 须先安装gcc) 

      如果make完成后继续执行make install

      查看默认安装目录:usr/local/bin  

        redis-benchmark:性能测试工具,可以在自己本子运行,看看自己本子性能如何

        redis-check-aof:修复有问题的AOF文件,rdb和aof后面讲

        redis-check-dump:修复有问题的dump.rdb文件

        redis-cli:客户端,操作入口

        redis-sentinel:redis集群使用

        redis-server:Redis服务器启动命令

      启动

        修改redis.conf文件将里面的daemonize no 改成 yes,开启守护进程,让服务在后台启动

        将默认的redis.conf拷贝到自己定义好的一个路径下,比如/my.conf 

        启动 redis-server  /my.conf    以/my.conf 启动redis服务端

           redis-cli -p 6379 进入客户端,操作redis

        连通测试  

        /usr/local/bin目录下运行redis-server,运行拷贝出存放了自定义conf文件目录下的redis.conf文件

      永远的helloword:    set  k1  helloword      get  k1

      

      关闭  

        单实例关闭:redis-cli shutdown

        多实例关闭,指定端口关闭:redis-cli -p 6379 shutdown

    D)Redis启动后杂项基础知识:

      单进程:单进程模型来处理客户端的请求。对读写等事件的响应是通过对epoll函数的包装来做到的。Redis的实际处理速度完全依靠主进程的执行效率

      epoll是Linux内核为处理大批量文件描述符而作了改进的epoll,是Linux下多路复用IO接口select/poll的增强版本,它能显著提高程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率。

      默认16个数据库,类似数组下表从零开始,初始默认使用零号库,select命令切换数据库(select  1,切换到1号数据库)

      dbsize查看当前数据库的key的数量

      flushdb:清空当前库

      Flushall;通杀全部库

      统一密码管理,16个库都是同样密码,要么都OK要么一个也连接不上

      Redis索引都是从零开始

      为什么默认端口是6379 (配置文件里面配置的默认就是6379)

  • 相关阅读:
    Android开发 使用 adb logcat 显示 Android 日志
    【嵌入式开发】向开发板中烧写Linux系统-型号S3C6410
    C语言 结构体相关 函数 指针 数组
    C语言 命令行参数 函数指针 gdb调试
    C语言 指针数组 多维数组
    Ubuntu 基础操作 基础命令 热键 man手册使用 关机 重启等命令使用
    C语言 内存分配 地址 指针 数组 参数 实例解析
    CRT 环境变量注意事项
    hadoop 输出文件 key val 分隔符
    com.mysql.jdbc.exceptions.MySQLNonTransientConnectionException: Too many connections
  • 原文地址:https://www.cnblogs.com/xuzekun/p/7440575.html
Copyright © 2011-2022 走看看