zoukankan      html  css  js  c++  java
  • Redis入门

    Redis介绍

    什么是redis

    redis 英语全称:( REmote DIctionary Server )远程字典服务器
    是一个开源的、使用C语言编写的、支持网络交互的、可基于内存也可持久化的Key-Value数据库。redis的官网地址,非常好记,是redis.io。(特意查了一下,域名后缀io属于国家域名,是british Indian Ocean territory,即英属印度洋领地)
    目前,Vmware在资助着redis项目的开发和维护。


    redis的作者


    redis的作者叫Salvatore Sanfilippo,来自意大利的西西里岛,现在居住在卡塔尼亚。目前供职于Pivotal公司。
    他使用的网名是antirez,如果你有兴趣,可以去他的博客逛逛,地址是antirez.com,当然也可以去follow他的github,地址是http://github.com/antirez。


    redis的安装


    redis支持多种平台,多数情况下会在Linux下搭建Redis服务器,为了方便教学,我们采用windows平台,不过只有64位的版本。
    下载地址:
    Linux版本:http://www.redis.cn/download.html
    windowns版本(微软基于linux系统下的redis写的windowns版本):https://github.com/MicrosoftArchive/redis/releases


    redis的安装及启动

    这里我们下载 Redis-x64-xxx.zip压缩包到 C 盘,解压后,将文件夹重新命名为 redis。
    Redis分为服务器和客户端两种,必须启动服务器才能使用Redis。
    启动完成,出现后面的效果

    注意:在使用redis服务器启动后不要关闭cmd窗口

    服务器指令

    启动服务器:
    --语法:redis-server
    注意:启动时加载的是默认配置文件,如果要加载其他文件用以下指令
    --Redis-server 配置文件路径


    客户端指令-连接服务器

    使用DOS窗口启动客户端(本机)
    --redis-cli
    启动客户端(远程)
    --Redis-cli –h host –p port –a password
    --例如:redis-cli -h 127.0.0.1 -p 6379
    验证
    --Ping
    --响应:pong

    Redis启动后的配置

    进程相关:
    --单进程模型来处理客户端的请求。对读写等事件的响应是通过对epoll函数的包装来做到的。Redis的实际处理速度完全依靠主进程的执行效率。
    密码相关:
    --统一密码管理,16个库都是同样密码,要么全部连上,要么一个也连接不上。
    Redis索引
    --数据库索引从0开始

    数据库相关

    1. 默认16个数据库,下标从0开始,初始默认使用0号库,可以通过配置文件修改数据库默认值。
    2. select:切换数据库 如:select 1,则切换到1的数据库
    3. dbsize:可查看当前数据库key的数据
    4. flushdb:清空当前数据库
    5. flushall:清空所有数据库
    6. keys:获取当前数据库的key,如:keys *获取所有,key k? 获取字母以k开始且两字符的,key k* 以k开始的

    Redis的键(key命令)

    Key键:Redis 键命令用于管理 redis 的键
    基本语法:
    redis 127.0.0.1:6379> COMMAND KEY_NAME

    Redis支持五种数据类型:

    1.  String(字符串)
    2. Hash(哈希)
    3. List(列表)
    4. Set(集合)
    5. Zset(sorted set:有序集合)

    Redis string类型


    string是redis最基本的类型,一个key对应一个value。
    String类型是二进制安全的。意思是redis的string可以包含任何数据。比如jpg图片或者序列化的对象。
    string类型是Redis最基本的数据类型,一个redis中字符串value最多可以是512M。
    String相关的指令:


    Redis 哈希(Hash)


    Redis Hash:
    是一个string类型的field和value(以键值)的映射表,hash特别适合用于存储对象。
    存储大小:
    每个 hash 可以存储 232 - 1 键值对(40多亿)。

    Redis 列表(List)


    Redis列表list:
    --Redis列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)
    存储数据量:
    -- 一个列表最多可以包含 232 - 1 个元素 (4294967295, 每个列表超过40亿个元素)


    Redis 集合(Set)


    Redis 集合-set
    --Redis的Set是string类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。
    --Redis 中 集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。
    存储数据量:
    --集合中最大的成员数为 232 - 1 (4294967295, 每个集合可存储40多亿个成员)。


    Redis 有序集合(sorted set)

    Redis 有序集合(sorted set):
    --Redis 有序集合和集合一样也是string类型元素的集合,且不允许重复的成员。
    --不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。
    --有序集合的成员是唯一的,但分数(score)却可以重复。
    存储数量:
    --集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。 集合中最大的成员数为 232 - 1 (4294967295, 每个集合可存储40多亿个成员)。

    各个数据类型的应用场景

     

  • 相关阅读:
    solr 使用
    深入理解java虚拟机(二)HotSpot Java对象创建,内存布局以及访问方式
    深入理解java虚拟机(一)
    获取请求体数据 POST
    获取请求头数据
    Servlet之Request和Response 解析
    Servlet 之 Http协议
    Servlet 体系结构
    如何修改servlet的创建时机?
    Java Web servlet 详解
  • 原文地址:https://www.cnblogs.com/huangzhenwei97/p/10001586.html
Copyright © 2011-2022 走看看