hi,你好!欢迎访问本站!登录
本站由网站地图腾讯云宝塔系统阿里云强势驱动
当前位置:首页 - 教程 - 杂谈 - 正文 君子好学,自强不息!

redis入门(一)

2019-11-18杂谈搜奇网35°c
A+ A-

目次

  • redis入门(一)
    • 目次
    • 媒介
    • 特征
      • 速率快
      • 简朴稳固
      • 雄厚的功用
    • 汗青
      • 汗青版本
    • 装置与启动
      • 装置
    • 数据范例与内部编码
      • 数据构造
      • 内部编码
    • 经常运用API与运用场景
      • 经常运用敕令
      • 字符串
      • 列表
      • 哈希
      • 鸠合
      • 有序鸠合
    • 总结
    • 参考文档

redis入门(一)

目次

redis入门(一)
redis入门(二)
redis入门(三)

媒介

  1. Redis是什么?
    redis是一种基于键值对(key-value)的NoSQL数据库。Redis会将一切数据都存放在内存中,所以它的读写机能异常惊人。不仅云云,Redis还能够将内存的数据应用快照和日记的情势保留到硬盘上,如许在发作相似断电或许机械毛病的时刻,内存中的数据不会“丧失”。Redis还供应了键逾期、宣布定阅、事宜、流水线、Lua剧本等附加功用。

  2. Redis能做什么
    在谈为何须要redis之前,先要清晰redis能够做什么。
  • 缓存。经由过程引入缓存加快数据的接见速率,下落后端数据源的压力。
  • 排行榜。redis供应给列表和有序多少数据构造能够很轻易的构建种种排行榜体系。
  • 计数器。redis原生支撑高机能的计数功用,能够为视频播放量、网页阅读数等供应支撑。
  • 音讯行列。redis供应宣布定阅功用。

特征

我们为何挑选redis?

速率快

官方给出的读写速率能够到达10W/s,以下是我本机双核四线程低压i7上测试的对字符串的读写速率。

C:\Users\Dm_ca> redis-benchmark -n 100000  -t set,get -q -a test1
SET: 11993.28 requests per second
GET: 57603.69 requests per second

若运用redis管道手艺能够获得更高的读写速率

C:\Users\Dm_ca> redis-benchmark -n 100000 -t set,get -q -a test1 -P 2
SET: 19466.62 requests per second
GET: 133155.80 requests per second

Redis 管道手艺能够在效劳端未相应时,客户端能够继承向效劳端发送请求,并终究一次性读取一切效劳端的相应。

下表是谷歌公司给出的各层级硬件实行速率,内存的相应速率是100ns,redis将数据悉数从内存加载能够更快的读写数据。

简朴稳固

初期版本代码在2W行摆布,3.0增添了集群等特征增值5W行。比拟其他NoSQL数据库来讲代码量少许多。

雄厚的功用

支撑宣布定阅、耐久化、集群及管道等其他经常运用的功用。

汗青

2008年,Redis的作者Salvatore Sanfilippo在开辟一个叫LLOOGG的网站时,须要完成一个高机能的行列功用,最最先是运用MySQL来完成的,但厥后发明不管怎样优化SQL语句都不能使网站的机能进步上去,因而他决议自身做一个专属于LLOOGG的数据库,这个就是Redis的前身。厥后,Salvatore Sanfilippo将Redis1.0的源码开放到GitHub上,能够连他自身都没想到,Redis厥后云云受迎接。

汗青版本

Redis自创了Linux操纵体系关于版本号的定名划定规矩:版本号第二位假如是奇数,则为非稳固版本(比方2.7、2.9、3.1),假如是偶数,则为稳固版本(比方2.6、2.8、3.0、3.2)。当前奇数版本就是下一个稳固版本的开辟版本。

  1. Redis 2.6
    Redis 2.6在2012年正式宣布,阅历了17个版本,到 2.6.17版本,比拟于Redis2.4,重要特征以下:
    • 效劳端支撑Lua剧本。
    • 从节点供应只读功用。
    • 重构了大批的中心代码,一切集群相干的代码都去掉了,cluster功用将会是3.0版本最大的亮点。
    • 其他多少修复与优化
  2. Redis 2.8
    Redis2.8在2013年11月22日正式宣布,阅历了24个版本,到2.8.24版本,比拟于Redis2.6,重要特征以下:
    • 增添部份主从复制的功用,在肯定程度上下落了由于收集题目,形成频仍全量复制生成RDB对体系形成的压力。
    • 能够经由过程config set敕令设置maxclients。
    • 能够用bind敕令绑定多个IP地点。
    • configre write敕令能够将config set耐久化到Redis设置文件中。
    • 其他多少修复与优化
  3. Redis 3.0
    • Redis Cluster:Redis的官方分布式完成。
    • 全新的embedded string对象编码效果,优化小对象内存接见,在特定的事情负载下速率大幅提拔。
    • config set设置maxmemory时刻能够设置差别的单元单元(之前只能是字节)
    • incr敕令机能提拔。
    • 其他多少修复与优化
  4. Redis 3.2
    • 新的List编码范例:quicklist。
    • 从节点读取逾期数据保证一致性。
    • 新的RDB花样,然则依然兼容旧的RDB。
    • 加快RDB的加载速率。
    • 其他多少修复与优化
  5. Redis 4.0
    • 供应了模块体系,轻易第三方开辟者拓展Redis的功用
    • PSYNC2.0:优化了之前版本中,主从节点切换必定引发全量复制的题目。
    • 供应了RDB-AOF夹杂耐久化花样,充分应用了AOF和RDB各自上风。
    • Redis Cluster兼容NAT和Docker。
    • 其他多少修复与优化

更多细节能够检察Redis版本汗青引见

装置与启动

redis编译后,有许多可实行文件,我们先相识一下各个文件的用处。在windows版本和官方redis版的文件都是差不多的。

可实行文件 作用
redis-server 启动redis效劳
redis-cli redis敕令行客户端
redis-benchmark redis基准测试东西
redis-check-aof redis AOF耐久化文件检测和修复东西
redis-check-dump redis RDB耐久化文件检测和修复东西
redis-sentinel 启动redis尖兵效劳

windows版本是没有redis-sentinel,在启动的时刻能够经由过程--sentinel参数以尖兵形式启动。

装置

windows版本

  1. 下载

    Redis官方并不支撑Windows操纵体系,然则Redis作为一款优异的开源手艺吸收到了微软的注重,微软的开源手艺组在GitHub上保护一个Redis的分支。
    现在在windows版本最新的redis是3.2.100,能够到这里下载

    下载的紧缩文件内容以下图所示。

    windows版本的redis能够以2种体式格局运转,一种是经由过程cmd敕令框启动redis效劳历程。另一种是将redis装置为windows效劳,并以windows效劳运转。

    .config是redis设置文件。在效劳装置的时刻我们能够指定设置文件,若没有指定,则运用redis默许设置。

  2. 直接启动

    经由过程redis-server 设置名能够直接启动redis效劳。

  3. 装置效劳

    生产环境发起将redis装置为windows效劳,防备cmd框不小心被关掉。
    翻开cmd窗口,经由过程redis-server --service-install 设置文件途径 --service-name 效劳名装置效劳。如redis-server --service-install redis.windows-service.conf --service-name redis-test
    若设置花样没有题目,装置胜利后再windows效劳中则会有名为redis-test的效劳。

    装置windows效劳时必需指定设置文件
    若没有指定效劳名,则运用Redis作为默许的效劳称号。

  4. 启动效劳

    经由过程redis-server --service-start --service-name 效劳名启动指定的redis效劳。

  5. 住手效劳

    经由过程redis-server --service-stop --service-name 效劳名住手指定的redis效劳。

  6. 卸载

    经由过程redis-server --service-install --service-name 效劳名卸载Redis效劳。卸载效劳前须要先住手效劳。

linux版本

  1. 下载

    在Linux装置软件一般有两种要领,第一种是经由过程各个操纵体系的软件管理软件举行装置,比方CentOS有yum管理东西,Ubuntu有 apt。然则由于Redis的更新速率相对较快,而这些管理东西不肯定能更新到最新的版本,同时Redis的装置自身不是很庞杂,所以一引荐运用第二种体式格局:源码的体式格局举行装置,悉数装置只需以下四步即可完成。
    1) 下载Redis指定版本的源码紧缩包到当前目次。
    2) 解紧缩Redis源码紧缩包。
    3) 编译(编译之前确保操纵体系已装置gcc)。
    4) 装置。

    wget http://download.redis.io/releases/redis-5.0.5.tar.gz
    tar xzf redis-5.0.5.tar.gz
    cd redis-5.0.5
    make
  2. 编译

    我本机是在windows的Linux子体系上运转,装置的是Ubuntu,windows市肆中的ubuntu是最小化装置,因而许多必要的开辟包都是没有的,比方make,因而须要装置make,而编译redis源码还要依靠gcc,因而确保自身当地的linux已装置了gccmake.

    在ubuntu下能够运用sudo apt-get install build-essential装置gcc相干的包,运用sudo apt-get install make装置make包。
    若都装置完成,则能够在redis目次下经由过程make敕令举行源码编译

  3. 启动

    经由过程src/redis-server启动redis-server,经由过程src/redis-server 设置名以指定的设置文件启动。若直接启动默许之前台效劳历程实行,将会壅塞敕令行。修正设置文件daemonize no改成daemonize yes以保卫历程的体式格局实行。

    保卫历程(Daemon Process),也就是一般说的 Daemon 历程(精灵历程),是 Linux 中的背景效劳历程。它是一个生存期较长的历程,一般独立于掌握终端而且周期性地实行某种使命或守候处置惩罚某些发作的事宜。
    能够经由过程修正设置文件中的port修正绑定指定端口

  4. 客户端衔接

    经由过程src/redis-cli衔接redis效劳,经由过程src/redis-server -vsrc/redis-cli -v能够检察redis的版本号。

数据范例与内部编码

数据构造

redis能够保留string(字符串)、hash(哈希)、list(列表)、set(鸠合)、zset(有序鸠合)。在背面的版本逐渐又增添了Bitmaps(位图)、HyperLogLog、GEO(地理信息定位)等数据构造。

经由过程type敕令能够检察当前键的数据范例。

127.0.0.1:26379> type key1
string

内部编码

经由过程type返回的仅仅是对外的数据构造,现实上每种数据构造都有自身底层的内部编码完成,而且是多种完成。

redis经由过程构建简朴动态字符串、链表、紧缩列表、整数鸠合、哈希表(字典)、腾跃表等内部编码组织出举行组合完成了种种数据构造,经由过程这类体式格局 ,Redis会在适宜的场景挑选适宜的内部编码。从而优化差别场景下的运用效力。

  • 假如一个字符串对象保留的是整数值,而且这个整数值能够用long范例来示意,须要注重的是long或double范例示意的浮点数在Redis中也是作为字符串值来保留的。假如我们要保留一个浮点数到字符串对象内里,那末递次会先将这个浮点数转换成字符串值,然后再保留转换所得的字符串值。

  • embstr编码是特地用于保留短字符串的一种优化编码体式格局,embstr编码经由过程挪用一次内存分派函数来分派一块一连的空间,而raw编码会挪用两次内存分派函数。同理开释embstr编码的字符串只须要挪用一次内存开释函数来分派一块一连的空间,而开释raw编码的字符串会挪用两次内存开释函数。

    embstr编码的字符串对象现实上是只读的。当我们对embstr编码的字符串对象实行任何修正敕令时,递次会先将对象的编码从embstr转换成raw,然后再实行修正敕令。由于这个缘由,embstr编码的字符串对象在实行修正敕令以后,总会变成一个raw编码的字符串对象。

  • Redis的字典运用哈希表作为底层完成,一个哈希表内里能够有多个哈希表节点,而每一个哈希表节点就保留了字典中的一个键值对。
  • 紧缩列表是Redis为了勤俭内存而开辟的,是由一系列特别编码的一连内存块构成的递次型(sequential)数据构造。一个紧缩列表能够包含恣意多个节点(entry),每一个节点能够保留一个字节数组或许一个整数值。
  • 链表供应了高效的节点重排才能,以及递次性的节点接见体式格局,而且能够经由过程增删节点来天真地调解链表的长度。
  • 整数鸠合(intset)是Redis用于保留整数值的鸠合笼统数据构造,它能够保留范例为int16_t、int32_t或许int64_t的整数值,而且保证鸠合中不会涌现反复元素。
  • 腾跃表(skiplist)是一种有序数据构造,它经由过程在每一个节点中保持多个指向其他节点的指针,从而到达疾速接见节点的目标。

经常运用API与运用场景

经常运用敕令

  1. 检察一切键:keys *

    127.0.0.1:26379> set key1 1
    OK
    127.0.0.1:26379> set key2 2
    OK
    127.0.0.1:26379> set key3 3
    OK
    127.0.0.1:26379> set key22 22
    OK
    127.0.0.1:26379> keys *
    1) "key22"
    2) "key3"
    2) "key2"
    3) "key1"

    该敕令还支撑隐约查询
    shell 127.0.0.1:26379> keys *2* 1) "key22" 2) "key2"

  2. 键总数:dbsize

    127.0.0.1:26379> dbsize
    (integer) 3
  3. 搜检键是不是存在:exists key,能够传入多个key,返回存在key的个数

    127.0.0.1:26379> exists key1
    (integer) 1
    127.0.0.1:26379> exists key4
    (integer) 0
    127.0.0.1:26379> exists key1 key2
    (integer) 2
  4. 删除键:del key,能够同时删除多个key,返回胜利删除key的数目

    127.0.0.1:26379> del key1 key2
    (integer) 2
  5. 键逾期:expire key seconds

    127.0.0.1:26379> expire key3 2
    (integer) 1
  6. 查询键盈余逾期时候:ttl key。大于即是0则是键盈余的逾期时候,-1示意未设置逾期时候。

    127.0.0.1:26379> ttl key3
    (integer) 2
    127.0.0.1:26379> ttl key1
    (integer) -1
  7. 查询redis效劳状况:info [section]。能够经由过程info查询redis一切信息,或许经由过程info section查询指定的部份信息。

    127.0.0.1:26379> info
    # Server
    redis_version:5.0.6
    redis_git_sha1:00000000
    redis_git_dirty:0
    redis_build_id:6f31570182dc95d9
    redis_mode:standalone
    ...
    # Keyspace
    db0:keys=3,expires=0,avg_ttl=0
    
    127.0.0.1:26379> info keyspace
    # Keyspace
    db0:keys=3,expires=0,avg_ttl=

字符串

字符串范例是Redis最基本的数据构造。起首键都是字符串范例,而且其他几种数据构造都是在字符串范例基本上构建的,所以字符串范例能为其他四种数据构造的进修奠基基本。字符串范例的值现实能够是字符串(简朴的字符串、庞杂的字符串(比方JSON、XML))、数字(整数、浮点数),以至是二进制(图片、音频、视频),然则值最大不能超过512MB。

经常运用API

  1. 设置键set key value [ex seconds] [px milliseconds] [nx| xx]
    • ex seconds:为键设置秒级逾期时候。
    • px milliseconds:为键设置毫秒级逾期时候。
    • nx:键必需不存在,才能够设置胜利,用于增添。
    • xx:与nx相反,键必需存在,才能够设置胜利,用于更新。

    由于nx和xx的特征,只要一个客户端能设置胜利,因而能够做为分布式锁的一种完成。

  2. 读取键:get key
  3. 批量设置:mset key value [key value ...]
  4. 批量读取:mget key [key ...]

内部编码

字符串范例的内部编码有3种:

  • int:8个字节的长整型。
  • embstr:小于即是44个字节的字符串。
  • raw:大于44个字节的字符串。

    redis3.0之前是以39个字符为边境,由于redis3.0对embstr机能做了优化致使长度边境发作变化。概况能够看Redis的embstr与raw编码体式格局不再以39字节为界了!

运用场景

  1. 缓存

    与关联型数据库差别的是,Redis没有敕令空间,而且也没有对键名有强迫请求(除了不能运用一些特别字符)。但设想合理的键名,有利于防备键争执和项目标可保护性,比较引荐的体式格局是运用营业名:对象名:id:[属性]作为键名(也能够不是分号)。比方数据库名为vs,用户表名为user,那末对应的键能够用vs:user:1vs:user:1:name来示意,假如当前Redis只被一个营业运用,以至能够去掉vs:。假如键名比较长,比方user:{uid}:friends:messages:{mid},能够在能形貌键寄义的前提下恰当削减键的长度,比方变成u:{uid}:fr:m:{mid},从而削减由于键太长的内存糟蹋。

  2. 计数

    经由过程incr key对计数举行累加,可用于播放量,接见量等场景。

  3. 限速

    经由过程set 和 incr组合运用完成1分钟内最多发送5条短信。

    127.0.0.1:26379> set 182XXXXXXXX 1 ex 60 nx
    OK
    127.0.0.1:26379> set 182XXXXXXXX 1 ex 60 nx
    (nil)
    127.0.0.1:26379> incr 182XXXXXXXX
    (integer) 2

    能够看到经由过程nx参数只要在不存在的时刻才会设置胜利。

  4. 分布式锁

    能够经由过程set加nx或xx参数完成分布式锁。关于Redis完成分布式锁能够参考Distributed locks with Redis

列表

列表(list)范例是用来存储多个有序的字符串,一个列表最多能够存储2^32^-1个元素。在Redis中,能够对列表两头插进去(push)和弹出(pop),还能够猎取指定局限的元素列表、猎取指定索引下标的元素等。列表是有序的,且能够插进去反复数据。

经常运用API

  1. 从右边插进去数据:rpush key value [value ...]
  2. 从左边插进去数据:lpush key value [value ...]
  3. 从右边弹出数据:rpop key
  4. 从左边弹入数据:lpop key
  5. 从左边壅塞弹出:blpop key [key ...] timeout
  6. 从右边壅塞弹出:brpop key [key ...] timeout

    当运用壅塞弹出时,若列表为空,则将会壅塞指定的时候,若通报的timeout为0,会一致壅塞;若个客户端同时壅塞时,有数据插进去列表时,先壅塞的先能够猎取到值。

  7. 猎取指定局限内的元素列表:lrange key start end
  8. 猎取列表指定索引下标的元素:lindex key index
  9. 猎取列表长度:llen key
  10. 修正指定索引下标的元素:lset key index newValue

内部编码

列表范例的内部编码有两种:

  • ziplist(紧缩列表):当列表的元素个数小于list-max-ziplist-entries设置(默许512个),同时列表中每一个元素的值都小于list-max-ziplist-value设置时(默许64字节),Redis会选用ziplist来作为列表的内部完成来削减内存的运用。
  • linkedlist(链表):当列表范例没法满足ziplist的前提时,Redis会运用linkedlist作为列表的内部完成。

    Redis3.2版本供应了quicklist内部编码,简朴地说它是以一个ziplist为节点的linkedlist,它连系了ziplist和linkedlist二者的上风,为列表范例供应了一种越发优异的内部编码完成

运用场景

  1. 音讯行列
    Redis的lpush+brpop敕令组合即可完成壅塞行列,生产者客户端运用lrpush从列表左边插进去元素,多个斲丧者客户端运用brpop敕令壅塞式的“抢”列表尾部的元素,多个客户端保证了斲丧的负载平衡和高可用性。
  • lpush+lpop=Stack(栈)
  • lpush+rpop=Queue(行列)
  • lpsh+ltrim=CappedCollection(有限鸠合)
  • lpush+brpop=MessageQueue(音讯行列)

哈希

在Redis中,哈希范例是指键值自身又是一个键值对构造,形如value={{field1,value1},...{fieldN,valueN}}

经常运用API

  1. 设置值:hset key field value
  2. 猎取指定键的field值:hget key field
  3. 删除指定键的field:hdel key field [field ...]
  4. 盘算指定键的field的个数:hlen key
  5. 批量猎取:hmget key field [field ...]
  6. 批量设置:hmset key field value [field value ...]
  7. 推断field是不是存在:hexists key field
  8. 猎取指定键的一切内容:hexists key field

内部编码

哈希范例的内部编码有两种:

  • ziplist(紧缩列表):当哈希范例元素个数小于hash-max-ziplist-entries设置(默许512个)、同时一切值都小于hash-max-ziplist-value设置(默许64字节)时,Redis会运用ziplist作为哈希的内部完成,ziplist运用越发紧凑的构造完成多个元素的一连存储,所以在节约内存方面比hashtable越发优异。
  • hashtable(哈希表):当哈希范例没法满足ziplist的前提时,Redis会运用hashtable作为哈希的内部完成,由于此时ziplist的读写效力会下落,而hashtable的读写时候庞杂度为O(1)。

运用场景

  1. 缓存关联型数据库的用户信息

    • 关联型数据库保留体式格局

    • hash范例保留体式格局

    须要注重的是,关联型数据库是构造化的,每一列都要为其设置值(纵然未空也能够包含NULL或特别的标识示意NULL),而NOSQL则是希罕的,有字段的才须要设置值。因而关联型数据库须要占用更大的内存空间。
    Redis不适合去模仿庞杂的查询关联。

  2. 保留关联型数据的经常运用体式格局。
    • 每一个纪录每条属性一个键。
      • 长处:简朴直观,每一个属性都能够更新,互不影响。
      • 瑕玷:占用了太多的key。查找一个用户的信息比较贫苦,要猎取n次key。
    • 将用户序列化后保留到一个键中。
      • 长处:合理的序列化进步redis内存运用效力。
      • 瑕玷:序列化和反序列化有肯定的开支。同时每次更新一个属性都须要猎取悉数数据反序列化更新后再从新序列化保留到redis。
    • 每一个用户字段用对应一个field-value。
      • 长处:简朴直观,合理运用能够削减redis内存运用。每一个属性互不影响。
      • 瑕玷:要掌握hash的内部编码转换,若运用hashtable,会斲丧更多内存。

鸠合

鸠合(set)范例也是用来保留多个的字符串元素,但和列表范例不一样的是,鸠合中不允许有反复元素,而且鸠合中的元素是无序的,不能经由过程索引下标猎取元素。

经常运用API

  1. 增添元素:sadd key element [element ...]
  2. 删除元素:srem key element [element ...]

    增添和删除能够对多个元素举行操纵,返回的是实行胜利的数目。

  3. 盘算元素个数:scard key
  4. 盘算指定键的field的个数:hlen key
  5. 推断元素是不是在鸠合中:sismember key element
  6. 另有一些鸠合的操纵这里不做详细解说

内部编码

鸠合范例的内部编码有两种:

  • intset(整数鸠合):当鸠合中的元素都是整数且元素个数小于set-max-intset-entries设置(默许512个)时,Redis会选用intset来作为鸠合的内部完成,从而削减内存的运用。
  • hashtable(哈希表):当鸠合范例没法满足intset的前提时,Redis会运用hashtable作为鸠合的内部完成。

运用场景

保留去重后的用户信息,比方IP白名单等

有序鸠合

有序鸠合它保留了鸠合不能有反复成员的特征,但差别的是,有序鸠合中的元素能够排序。然则它和列表运用索引下标作为排序依据差别的是,它给每一个元素设置一个分数(score)作为排序的依据。有序鸠合供应了猎取指定分数和元素局限查询、盘算成员排名等功用,合理的应用有序鸠合,能协助我们在现实开辟中处理许多题目。

经常运用API

有序鸠合在鸠合基本上多了一个分值,并经由过程分支排序。

  1. 增添成员:zadd key score member [score member ...]。Redis3.2为zadd敕令增添了nx、xx、ch、incr四个选项:
    • nx:member必需不存在,才能够设置胜利,用于增添。
    • xx:member必需存在,才能够设置胜利,用于更新。
    • ch:返回此次操纵后,有序鸠合元素和分数发作变化的个数。
    • incr:对score做增添,相当于背面引见的zincrby。
  2. 盘算成员个数:zcard key
  3. 盘算 某个 成员 的 分数 zscore key member
  4. 盘算 成员 的 排名 zrank key member zrevrank key member
    • zrank是从分数从低到高返回排名。
    • zrevrank是从分数从高到低返回排名。
  5. 删除成员:zrem key member [member ...]
  6. 增添成员的分数:zincrby key increment member
  7. 返回指定排名局限的成员:zrange key start end [withscores]zrevrange key start end [withscores]
  8. 返回指定分数局限的成员:zrangebyscore key min max [withscores] [limit offset count]zrevrangebyscore key max min [withscores] [limit offset count]
  9. 返回指定分数局限成员个数:zcount key min max
  10. 删除指定排名内的升序元素:zremrangebyrank key start end
  11. 删除指定分数局限的成员:zremrangebyscore key min max

内部编码

有序鸠合范例的内部编码有两种:

  • ziplist(紧缩列表):当有序鸠合的元素个数小于zset-max-ziplist-entries设置(默许128个),同时每一个元素的值都小于zset-max-ziplist-value设置(默许64字节)时,Redis会用ziplist来作为有序鸠合的内部完成,ziplist能够有用削减内存的运用。
  • skiplist(腾跃表):当ziplist前提不满足时,有序鸠合会运用skiplist作为内部完成,由于此时ziplist的读写效力会下落。

运用场景

依据某个信息排序,比方一些排行榜功用,外卖的依据间隔或综合评分排序等。

总结

本节简朴引见了redis汗青。同时引见了redis的装置布置的相干学问,末了引见了开辟经常运用的一些API和运用场景。

参考文档

  1. redis
  2. redis开辟与运维
  3. Redis版本汗青引见
  4. redis设置文件详解
  5. linux下/var/run目次下.pid文件的作用
  6. Redis的embstr与raw编码体式格局不再以39字节为界了
  7. Distributed locks with Redis

本文地点:https://www.cnblogs.com/Jack-Blog/p/11776146.html
作者博客:杰哥很忙
迎接转载,请在显著位置给出出处及链接

  选择打赏方式
微信赞助

打赏

QQ钱包

打赏

支付宝赞助

打赏

  移步手机端
redis入门(一)

1、打开你手机的二维码扫描APP
2、扫描左则的二维码
3、点击扫描获得的网址
4、可以在手机端阅读此文章
未定义标签

本文来源:搜奇网

本文地址:https://www.sou7.cn/281958.html

关注我们:微信搜索“搜奇网”添加我为好友

版权声明: 本文仅代表作者个人观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。请记住本站网址https://www.sou7.cn/搜奇网。

发表评论

选填

必填

必填

选填

请拖动滑块解锁
>>