zoukankan      html  css  js  c++  java
  • redis (一)基本使用

    概述

    redis是基于key-value 我们所说的数据类型实际是 key-value 中的 value 。文章主要介绍的是redis 几个重要的数据类型的使用。
    

    简单使用

    //keys pattern 获取某种匹配的key
    例如 :  keys *  
    
    set foo 1
    
    //获取某个key 对应的 value 是什么类型的
    例如 : type  foo 
    
    //某个key-value 是否存在
    例如 : EXISTS foo 
    
    //删除键
    例如 :DEL foo 
    
    
    

    数据类型使用

    链表

    redis中使用双向链表,双向链表最基础的自然就是双端插入和获取了。需要注意的是插入后返回的链表的长度
    
    测试环境:0>lpush numbers 1 
    "1"
    
    测试环境:0>rpush numbers 2 
    "2"
    
    测试环境:0>rpush numbers 3 
    "3"
    
    测试环境:0>lpop numbers 
    "1"
    
    测试环境:0>rpop numbers 
    "3"
    
    

    字典(h)

    以下面为例子说明

    H使用.PNG

    这有点像java的HashMap,但是有不一样,key 是 car ,那么 value 是 color ,name ,price 中的哪一个呢?redis 中的使用是这样的

    测试环境:0>hset car price 500 
    "1"
    
    测试环境:0>hset car name bmw
    "1"
    
    测试环境:0>hget car 
    "ERR wrong number of arguments for 'hget' command"
    
    测试环境:0>hget car  price 
    "500"
    
    测试环境:0>hset cat price 600 
    "1"
    
    测试环境:0>hget cat price 
    "600"
    
    
    

    redis 中上面例子的key 是 cat price 或是 cat color 等 。

    跳跃表(z)

    redis中使用跳跃表的地方有两个地方,阅读前先看一下参考资料,了解跳跃表

    • 有序集合键
    • 集群节点中用作内部数据结构

    整数集合(s)

    相当于java中的 HashSet ,简单使用如下 : 
    
    测试环境:0>sadd letters a b c 
    "3"
    
    测试环境:0>smembers letters  
     1)  "a"
     2)  "c"
     3)  "b"
    
    

    分布式锁实现

    参考资料

    -《redis设计及实现》

    • https://www.jianshu.com/p/ac351674d8eb (推荐一看)
    • http://doc.redisfans.com (推荐一看)
    • https://redis.io/topics/distlock (redis 分布式锁参考)
  • 相关阅读:
    java的异常
    Quartz使用总结
    MYSQL性能优化的最佳20+条经验
    索引原理和慢查询优化
    MySQL索引背后的数据结构及算法原理
    常见电商项目的数据库表设计(MySQL版)
    常见试题和算法
    mysql性能调优与架构设计笔记
    MYSQL数据库设计规范与原则
    复合索引的优点和注意事项
  • 原文地址:https://www.cnblogs.com/Benjious/p/11655851.html
Copyright © 2011-2022 走看看