zoukankan      html  css  js  c++  java
  • redis快速上手

    Redis是一个开源的使用ANSI C语言编写的、可基于内存亦可持久化的日志型、Key-Value数据库

    五种数据结构

    redis有5种数据结构:

    每一种都是以string作为key,value可以是以上5种。

    string->string

    1. 增加

    set k1 v1

    2. 获取

    get k1

    3. 修改

    重新设置即可

    set  k1  vv1

    4. 批量设置和批量获取

    mset k1 v1 k2 v2

    mget k1 k2

    string->map

    map可能有多个列,也就是说map中可以有很多键值对。

    1. 设置

    hset h1 name rogn

    2. 获取

    hget h1 name

    3. 修改

    也是重新设置

    hset h1 name growvv

    4. 同时设置多个列

    hmset h1 name rogn age 20

    5. 获取quanbu

    hget h1 age

    hgetall h1

    6. 删除

    部分删除:hdel h1 age

    全部删除::hdel h1

    string->list

    因为是列表,没有set和get一说,只有push和pop方法

    1. 插入

    lpush L1 v1

    批量插入:lpush L1 v2 v3 v4

    2. 查询

    可以指定范围:lrange L1 0 3

    可以使用"-1"索引:lrange L1 0 -1

    3. 弹出

    lpop L1

    rpop L1

    string->set

    就是数学意义上的集合,即不会有重复元素。

    1. 增加

    sadd S1 v1

    添加相同的元素,忽略

    2. 查看

    smember S1

    string->zset

    zset和set一样也是string类型的集合,但是必须为其关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。

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

    1. 增加

    zadd zs 1  redis

    2. 查询

    zrange zs 0 -1

    订阅和发布功能

    订阅:

    subscribe foo

    没有消息时处于阻塞状态,可以按通配符订阅。

    发布:

    publish foo hello

    这样所有订阅foo主题的客户端都能收到hello消息

    其他

    快的原因:

    1. 完全在内存中操作

    2. IO多路复用

    3 ......

    此外,java,nodejs等几乎所有的语言都有操作redis的库。

    可以去试试图形化管理工具-Redis Desktop Manage,还是在线Redis数据库Redislabs.

    参考链接:

    1. https://www.bilibili.com/video/BV1hJ411K72h

    2. https://www.runoob.com/redis/redis-tutorial.html

  • 相关阅读:
    建立十字链表
    KMP算法
    魔术师发牌问题(循环链表)
    约瑟夫问题(循环链表)
    中缀表达式 转 (逆)波兰表达式
    中缀表达式求值
    迷宫问题(回溯法)
    范数
    AUC
    概率论
  • 原文地址:https://www.cnblogs.com/lfri/p/12680744.html
Copyright © 2011-2022 走看看