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 分布式锁参考)
posted @ 2019-10-11 18:00  float123  阅读(214)  评论(0编辑  收藏  举报