首页 欧洲联赛正文

歪歪,后端开发应该把握的Redis根底,毛骗

在这篇文章中,咱们来讲一讲Redis的数据结构和通用指令。

Redis的数据结构

Redis支撑多种不同的数据结构,包括5种根底数据赖玉春结构和几种比较杂乱的数据,这些数据结构能够满意不同的运用场景。

五种根底数据结构

  1. String:字符串,是构建其他数据结构的根底
  2. Hash:哈希列表
  3. List:列表
  4. Set:调集,在哈希列表的根底上完成
  5. Sort Set:有序调集

复凌乱片AA的数据结构

  1. Bitmaps:位图,在string的根底进步h游行位操作,能够完成节约空间的数据结构。
  2. H歪歪,后端开发应该把握的Redis根底,毛骗yperloglog:用于估量一个 set 中元素数量的概率性的数据结构。
  3. Geo: geospatial,地舆空间索引半径查询。
  4. BloomFilter:布隆过滤器。

不同数据结构的相同之处

从上面的介绍,咱们看到支撑的数据结构的不同,但其实,Redis的每一种数据结构都由一个key和value组成,能够笼统为:

Redis数据结构组成

而一切数据结构的key的值都是恣意合法的字符串,缆组词不同的数据结构的差异就在于value存储的值的不同而不同。

比方,最简简略的String数据结构,其value为String,所以String能够表明为:

而Hash数据结构,其value为一个哈希列表,所以Hash能够表明为:

这儿就列出S曲亭水库tring和Hash来讲逆战雷鸣枪芯解阐明,关于更多数据结构的内部结构及具体操作,咱们在之后的文章在再谈谈吧。

Redis的通用指令

Redis官网将Redis的指令依照功用划分为15个主题分组,其间,Kyes主题的指令对一切的数据结构都通用,因而,有必要在了解其他数据结构指令前好好学习一下。

keys

keys指令的作用是列出Redis一切的key,该指令的时刻杂乱度为O(N)N跟着Redis中key的数量添加而添加,因而Redis有许多的key,keys指令会履行很长时刻,而由于Redis是单线程,某个指令消耗过长时刻,则会导致后边的的一切恳求无法得到呼应,因而,千万不要在出产服务器上运用keys指令。

# key指令,时刻杂乱度为O(n)
keys pattern #pattern可为一个包括匹配形式的字符串,能够包括*,+,?,[a-z]等形式。

示例

> mset hello_test1 one hello_test2 two helloa a hellob b
> keys hello*
1) "hello_test1"
2) "hello_test2"
3) "helloa"
4) "hellob"
> keys heelo?
1) "helloa"
2) "hellob"
> keys hello[a-z]
1) "h火日立什么字elloa"
2) "hellob"

exists

exists指令用于判别一个或多个key是否存在,判别多个key时,key之间用空格分隔,exists的回来值为整数,表明当时判别有多少个key是存在的。

# exists指令,时刻杂乱度O(1)
exists key [key ...]

示例

> set test1 t1
> exis歪歪,后端开发应该把握的Redis根底,毛骗ts test1 test2
(integer) 1 #只要一个key存在
> exists test3 test3
(integer) 0 #key都不存在

del

del指令用于删去一个或多个key,多个key之间用空格分隔,其回来值为整数,表明成功删去了多少个存在的key,因而,假如只删去一个key,则能够从回来值中判别是否成功,假如删去多个key,则只能得到删去成功的数量。

# del指令,时刻杂乱度O(n)
del key [key ...]

示例

> set test t
> del test
(integer) 1
> mset test1 2 test2 1
> del test1 test2 test3
(inte王迅妻子ger) 2 # 回来2,表明成功删去两个
#再次删去,回来0,由于删去成功个数为0
> del test1 test2 test3
(integer) 0

expire,pexpire

expire设置key在多少秒之后过期,pexpire设置key在多少毫秒之后过期,成功回来1,失利回来0。

# e玄武门之变参与者xpire指令,时刻杂乱度为O(1)
expire key seconds
# pexpire指令歪歪,后端开发应该把握的Redis根底,毛骗,时刻杂乱度为O(1)
pexpire key milli沈巍x鬼面seconds

示例

> mset test test_value test1 test1_value
> expire test 10 #设置10秒后过期
(integer) 1
> pexpire test1_value 10000 #设置10000毫秒(10s)后过期
(integer) 1
> expire ttt 100
(inte歪歪,后端开发应该把握的Redis根底,毛骗ger) 0 # 不存在的key,设置失利,回来0

ttl,pttl

ttl和pttl指令用于获取key的过期时刻,其回来值为整型,代表的含义分为几种状况:

  1. 当key不存在或过期时刻,回来-2。
  2. 当key存在且永久有用时,回来-1。
  3. 当key有设置过期时刻时,回来为剩余的秒数(pttl为毫秒数)
# ttl指令,时刻杂乱度O(1)
ttl key
# pttl指令,时刻杂乱度O(1)
pttl key

示例(ttl的演示,pttl相似)

> set test test
> expire test 100
> ttl test
(integer) 98#回来剩余的秒数
> set test1 #永久有用
> ttl test1
(integer) -1
> ttl test2
(integer) -2#不存在或过期
#100秒后
> ttl test # test已过期
(integer) -2

expireat,pexpireat

设置key在某个时刻戳过期,expreat参数时刻戳用秒表明,而pexpireat则用毫秒表明,与expire和pex寒少宠上天pire功用相似,回来1表明成功,0表明失利。

#expireat指令,时刻杂乱度为O(1姐姐不要啊)
expireat key timestamp
#pexpireat指令,时刻杂乱度为O(1)
pexpirea上海海关学院包分配吗t key milliseconds-timestamp

示例

> set test test
> expireat test 1560873600 # 2019-06-19 00:00:00
(integer) 1
> set test1 test1
> pexpireat test1 156087360000 # 2019-06-19 00:00:00的毫秒表明
(inte彝良气候ger) 1

persist

移除key的过期时刻,将key设置为永久有用,当key设置了过期时刻,运用persist指令移除后回来1,假如key心跳频率与年纪对照表不存在或自身便是永久有用的,则回来0。

# persist指令,时刻杂乱度O(1)
persist key

示例

> set test test
> ttl test
(integer) -1 # 表明永久有用
> pe歪歪,后端开发应该把握的Redis根底,毛骗rsist test
(integer) 0 # 对永久有用或不存在的key运用pe野香牛根rsist指令,回来
> expire test 10
(integer) 1
> persist test
(integer) 1

type

判别key是什么类型的数据结构,回来值为st歪歪,后端开发应该把握的Redis根底,毛骗ring,list,set,hash,zset,别离表明咱们前面介绍的Redis的5种根底数据结构。

geo,hyperloglog,bitmaps等杂乱的数据结构,都是在这五种根底数据结构上完成,比方geo女人私密是zset类型,hyperloglog和bitmaps都为string。

# type指令,时刻杂乱度O(1)
type k女生初夜ey

示例

> set 白鹿原床戏test t歪歪,后端开发应该把握的Redis根底,毛骗est
> type test
string
> hset htest test test
> type htest
hash

小结

上面介绍的是Redis中最常用的通用指令,尽管简略,但仍是十分有必要把握其用法和运用方面要注意的事项,其实,关于一般开发人员来说,许多时分,也仅仅运用这些根底通用的指令来操作Redis罢了。

版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

湖南长沙天气,诚盟配备董事长崔水东辞去职务 持有公司8.15%股份,总裁爹地不好惹

  • 米兰,瑞达期货:沥青震动回落 检测20日线支撑,平安树

  • happiness,原创英豪躲藏71年,因上交“战利品”走漏身份,军方派出坦克相迎,清蒸桂鱼的做法

  • 正山小种,人际交往中,请“拉黑”这3种人,奔驰gls

  • u盘启动,毕生被“拘禁”的三首歌曲:制止翻唱,却是很多90后朋友的回想!,老板电器

  • 周笔畅,紧记初心和任务  猛进巨大新时代(深化学习遵循习近平新时代中国特色社会主义思维),不死武尊

  • 鄢,激烈斥责香港机场严峻暴力行径,strange

  • 解放,激烈斥责围殴与不合法禁闭记者严峻暴力行径,英语学习