所在的位置: mysql >> mysql优势 >> 一文带你搞定Redis

一文带你搞定Redis

作者:京东物流刘丽侠姚再毅康睿刘斌李振

一、Redis的特性

1.1Redis为什么快?

基于内存操作,操作不需要跟磁盘交互,单次执行很快

命令执行是单线程,因为是基于内存操作,单次执行的时间快于线程切换时间,同时通信采用多路复用

Redis本身就是一个k-v结构,类似于hashMap,所以查询性能接近于O(1)

同时redis自己底层数据结构支持,比如跳表、SDS

lO多路复用,单个线程中通过记录跟踪每一个sock(I/O流)的状态来管理多个I/O流

1.2Redis其他特性

更丰富的数据类型,虽然都是k、v结构,value可以存储很多的数据类型

完善的内存管理机制、保证数据一致性:持久化机制、过期策略

支持多种编程语言

高可用,集群、保证高可用

1.Redis高可用

很完善的内存管理机制,过期、淘汰、持久化

集群模式,主从、哨兵、cluster集群

二、Redis数据类型以及使用场景

Redis的数据类型有String、Hash、Set、List、Zset、bitMap(基于String类型)、Hyperloglog(基于String类型)、Geo(地理位置)、Streams流。

2.1String

2.1.1基本指令

//批量设置msetkey1value1key2value2//批量获取mgetkey1key2//获取长度strlenkey//字符串追加内容appendkeyxxx//获取指定区间的字符getrangekey05//整数值递增(递增指定的值)incrintkey(incrbyintkey10)//当key存在时将覆盖SETEXkeysecondsvalue//将key的值设为value,当且仅当key不存在。SETNXkeyvalue

2.1.2应用场景

缓存相关场景缓存、token(跟过期属性完美契合)

线程安全的计数场景(软限流、分布式ID等)

2.2Hash

2.2.1基本指令

//将哈希表key中的域field的值设为value。HSETkeyfieldvalue//返回哈希表key中给定域field的值。HGETkeyfield//返回哈希表key中的所有域。HKEYSkey//返回哈希表key中所有域的值。HVALSkey//为哈希表key中的域field的值加上增量increment。HINCRBYkeyfieldincrement//查看哈希表key中,给定域field是否存在。HEXISTSkeyfield

2.2.2应用场景

存储对象类的数据(


转载请注明:http://www.aierlanlan.com/grrz/8383.html

  • 上一篇文章:
  •   
  • 下一篇文章: 没有了