zoukankan      html  css  js  c++  java
  • redis教程

    通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Map), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型。

    Redis 优势

    • 性能极高 – Redis能读的速度是110000次/s,写的速度是81000次/s 。
    • 丰富的数据类型 – Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作。
    • 原子 – Redis的所有操作都是原子性的,同时Redis还支持对几个操作全并后的原子性执行。
    • 丰富的特性 – Redis还支持 publish/subscribe, 通知, key 过期等等特

    Window 下安装

    下载地址:https://github.com/dmajkic/redis/downloads

    下载到的Redis支持32bit和64bit。根据自己实际情况选择,将64bit的内容cp到自定义盘符安装目录取名redis。 如 C: eids

    打开一个cmd窗口 使用cd命令切换目录到 C: edis 运行 redis-server.exe redis.conf 。

    如果想方便的话,可以把redis的路径加到系统的环境变量里,这样就省得再输路径了,后面的那个redis.conf可以省略,如果省略,会启用默认的。输入之后,会显示如下界面:

    Redis 安装

    这时候另启一个cmd窗口,原来的不要关闭,不然就无法访问服务端了。

    切换到redis目录下运行 redis-cli.exe -h 127.0.0.1 -p 6379 。

    设置键值对 set myKey abc

    取出键值对 get myKey

    Redis 安装

    Redis 配置

    Redis 的配置文件位于 Redis 安装目录下,文件名为 redis.conf。通过 CONFIG 命令查看或设置配置项。

    1  可以使用get命令来查询配置信息,使用 * 号获取所有配置项

    redis 127.0.0.1:6379> CONFIG GET loglevel

    1) "loglevel"
    2) "notice"

    2  可以使用set命令来编辑配置信息

    redis 127.0.0.1:6379> CONFIG SET loglevel "notice"

    OK

    redis 127.0.0.1:6379> CONFIG GET loglevel

    1) "loglevel"

    2) "notice"

    Redis 命令

    Redis 命令用于在 redis 服务上执行操作。

    要在 redis 服务上执行命令需要一个 redis 客户端。Redis 客户端在我们之前下载的的 redis 的安装包中。

    启动 redis 客户端,打开终端并输入命令 redis-cli。该命令会连接本地的 redis 服务。

    连接到本地的 redis 服务并执行 PING 命令,该命令用于检测 redis 服务是否启动。

    redis 127.0.0.1:6379> PING

    在远程服务上执行命令

    $redis-cli -h 127.0.0.1 -p 6379 -a "mypass"

    redis 127.0.0.1:6379>

    redis 127.0.0.1:6379> PING

    PONG

    Redis 键(key)

    Redis 键命令用于管理 redis 的键

    redis 127.0.0.1:6379> SET w3ckey redis

    OK

    redis 127.0.0.1:6379> DEL w3ckey

    (integer) 1

    在以上实例中 DEL 是一个命令, w3ckey 是一个键。 如果键被删除成功,命令执行后输出 (integer) 1,否则将输出 (integer) 0

    Redis 字符串(String)

    Redis 字符串数据类型的相关命令用于管理 redis 字符串值

    redis 127.0.0.1:6379> SET w3ckey redis

    OK

    redis 127.0.0.1:6379>  GET w3ckey "redis"

    Redis 哈希(Hash)

    Redis hash 是一个string类型的field和value的映射表,hash特别适合用于存储对象

    redis 127.0.0.1:6379> HMSET w3ckey name "redis tutorial" description "redis basic commands for caching" likes 20 visitors 23000
    OK
    redis 127.0.0.1:6379> HGETALL w3ckey
    
    1) "name"
    2) "redis tutorial"
    3) "description"
    4) "redis basic commands for caching"
    5) "likes"
    6) "20"
    7) "visitors"
    8) "23000"

    Redis 列表(List)

    使用了 LPUSH 将三个值插入了名为 w3ckey 的列表当中

    redis 127.0.0.1:6379> LPUSH w3ckey redis
    (integer) 1
    redis 127.0.0.1:6379> LPUSH w3ckey mongodb
    (integer) 2
    redis 127.0.0.1:6379> LPUSH w3ckey mysql
    (integer) 3
    redis 127.0.0.1:6379> LRANGE w3ckey 0 10
    
    1) "mysql"
    2) "mongodb"
    3) "redis"

    Redis 集合(Set)

    Redis的Set是string类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。

    Redis 中 集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。

    通过 SADD 命令向名为 w3ckey 的集合插入的三个元素

    redis 127.0.0.1:6379> SADD w3ckey redis
    (integer) 1
    redis 127.0.0.1:6379> SADD w3ckey mongodb
    (integer) 1
    redis 127.0.0.1:6379> SADD w3ckey mysql
    (integer) 1
    redis 127.0.0.1:6379> SADD w3ckey mysql
    (integer) 0
    redis 127.0.0.1:6379> SMEMBERS w3ckey
    
    1) "mysql"
    2) "mongodb"
    3) "redis"

    Redis 有序集合(sorted set)

    Redis 有序集合和集合一样也是string类型元素的集合,且不允许重复的成员。

    不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。

    有序集合的成员是唯一的,但分数(score)却可以重复

    通过命令 ZADD 向 redis 的有序集合中添加了三个值并关联上分数。

    redis 127.0.0.1:6379> ZADD w3ckey 1 redis
    (integer) 1
    redis 127.0.0.1:6379> ZADD w3ckey 2 mongodb
    (integer) 1
    redis 127.0.0.1:6379> ZADD w3ckey 3 mysql
    (integer) 1
    redis 127.0.0.1:6379> ZADD w3ckey 3 mysql
    (integer) 0
    redis 127.0.0.1:6379> ZADD w3ckey 4 mysql
    (integer) 0
    redis 127.0.0.1:6379> ZRANGE w3ckey 0 10 WITHSCORES
    
    1) "redis"
    2) "1"
    3) "mongodb"
    4) "2"
    5) "mysql"
    6) "4"

    Java 使用 Redis

    下载 jedis.jar

         //连接本地的 Redis 服务
          Jedis jedis = new Jedis("localhost");
          System.out.println("Connection to server sucessfully");
          //设置 redis 字符串数据
          jedis.set("w3ckey", "Redis tutorial");

         //存储数据到列表中
          jedis.lpush("tutorial-list", "Redis");
          jedis.lpush("tutorial-list", "Mongodb");
          jedis.lpush("tutorial-list", "Mysql");
         // 获取存储的数据并输出
         List<String> list = jedis.lrange("tutorial-list", 0 ,5);
         for(int i=0; i<list.size(); i++) {
           System.out.println("Stored string in redis:: "+list.get(i));
         }
     
  • 相关阅读:
    Docker login报错一例
    Ubuntu 18.04设置dns
    docker日志引擎说明
    Docker简介与安装配置
    使用traefik作为kubernetes的ingress
    Axiom3D:Ogre动画基本流程与骨骼动画
    Axiom3D:Ogre中Mesh文件格式分析(一)
    Axiom3D:数据绑定基本流程
    3D引擎Axiom的选择与学习.
    初试PyOpenGL四 (Python+OpenGL)GPU粒子系统与基本碰撞
  • 原文地址:https://www.cnblogs.com/doudouxiaoye/p/5703484.html
Copyright © 2011-2022 走看看