最适合新手的Redis基础
副问题[/!--empirenews.page--]
我们先看看Redis官网给的先容: Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache and message broker. It supports data structures such as strings, hashes, lists, sets, sorted sets with range queries, bitmaps, hyperloglogs, geospatial indexes with radius queries and streams. Redis has built-in replication, Lua scripting, LRU eviction, transactions and different levels of on-disk persistence, and provides high availability via Redis Sentinel and automatic partitioning with Redis Cluster. 简而言之,Redis是一个开源的行使ANSI C说话编写、遵守BSD协议、支持收集、可基于内存亦可耐久化的日记型、Key-Value数据库,并提供多种数据范例,成果挺强。 2. Redis之父 Redis之父是Salvatore Sanfilippo,一名来自意大利西西里岛的措施员,各人更风俗称号他Antirez。假如你对他感乐趣,可以去他的博客走走,可能去存眷他的github。 3. Redis有什么上风 速率快:Redis行使内存来存储数据集,且支持Pipelining呼吁,可以一次发送多条呼吁。 耐久化:可以把内存中的数据生涯在磁盘中,在重启时可从头加载行使。 原子性:全部操纵都是原子性的,同时支持事宜。 数据布局富厚:支持字符串、列表、哈希、荟萃及有序荟萃,满意大大都行使需求。 支持多种说话:Redis支持很多说话,如C、C++、C#、Go、Java、JavaScript、PHP等等。 多种特征:Redis还支持publish/subscribe, 关照, key 逾期等特征。 4. Redis能做什么 由于Redis互换数据速率快,以是常在处事器中被用于存储一些必要频仍调取的数据,对比于直接读取磁盘来得到数据,行使Redis可以节减大量时刻,晋升服从。举个例子: 某视频网站天天有100万人会见首页保举视频专栏,假如都从数据库查询读取,那么天天都至少要多出100万次数据库查询哀求。若行使了Redis,将常被调取的数据存到内存中,每次节省0.1秒,100万次就有10万秒,极洪流平进步了速率与开销。 总之,Redis的应用场景异常普及,且代价极高,此刻就开始学学基本。 5. 安装Redis 工欲善其事必先利其器,进修Redis的第一步必定就是安装Redis。因为我的情形是Windows体系,就只演示Windows下安装Redis。假如你不想安装Redis,但想体验一番,可以去官网提供的在线测试网站,内里也附有简朴的先容和教程。 Windows下安装Redis下载地点:https://github.com/microsoftarchive/redis/releases/tag/win-3.2.100这里我们下载Redis-x64-3.2.100.zip压缩包文件(假若有更新版本,可以下载最近更新的不变版本)。 download 下载好之后解压到本身的文件夹中。譬喻我解压到D:redis中。 unzip 打开一个cmd窗口,行使cd呼吁切换目次到解压后的文件夹路径(譬喻我切换目次到D:redis),然后运行呼吁: redis-server.exe redis.windows.conf。 输入之后会表现如下界面: redis-server 这样我们就打开了一个redis处事端,从图中我们可以看到一些信息,好比端标语为6379。假如要行使redis处事端,我们必要再打开一个cmd窗口,原本的不要封锁,否则就不能会见处事端了。同样将路径切换到redis目次下,然后运行: redis-cli.exe -h 127.0.0.1 -p 6379 存入一个键值对: set firstkey "hello redis" 取出键值对: get firstkey 封锁毗连: quit first_use 这样我们就完成了Redis在Windows下的安装并首次体验了Redis的key-value存储方法。 6. Redis数据布局 Redis支持五种数据布局:String(字符串)、Hash(哈希)、List(列表)、Set(荟萃)以及SortedSet(有序荟萃)。下面我们简朴先容下每一种数据布局以及他们的根基呼吁。 StringString是Redis最根基的数据布局,也是任何存储体系都必备的数据范例。String范例是二进制安详的,简朴来说,根基上你什么都能用字符串存储,你可以把图片文件的内容可能序列化的工具作为字符串来存储。String范例的值最大可以存512MB,确实根基什么都够存了。 > set mykey "hello world" OK > gey mykey "hello world" > getrange mykey 6 10 "world" > getrange mykey 0 20 "hello world" > getrange mykey 0 -1 "hello world" Tips:从上面几个实例,我们不丢脸出字符串起始从0开始;若end大于字符串长度时返回完备字符串;而当end为-1时,end为字符串最后一个字符。 > getset database "mysql" (nil) > get database "mysql" > getset database "redis" "mysql" > get database "redis" Tips: 当键未配置时,会返回(nil)。 > strlen mykey (integer) 11 > append mykey ", hello redis" 24 >get mykey "hello world, hello redis" > set incr_num 10 OK >get incr_num "10" >incr incr_num (integer) 11 > incrby incr_num 4 (intrger) 15 > incrbyfloat incr_num 0.5 15.5 Tips:整数值会表现为integer,当变为浮点型后并不会提醒为float > set decr_num 10 OK > get decr_num "10" > decr decr_num (integer) 9 > decrby decr_num 4 (integer) 5 Tips:redis并没稀有字值镌汰给定浮点值的呼吁,假如我们想要decr_num镌汰2.5,可以用incrbyfloat呼吁执行incrbyfloat decr_num -2.5。 > incrbyfloat decr_num -2.5 2.5 decrby key decrement:整数值镌汰给定整数值(decrement) decr key:整数值-1 incrbyfloat key increment:数字值增进给定浮点值(increment) incrby key increment:整数值增进给定整数值(increment) ncr key:整数值+1 append key value:假如可以已存在且是一个字符串,则将指定value添加到原值末端,会返回操纵后字符串长度 strlen key:返回键所存储的字符串值的长度 getset key value:配置指定键的新值,并返回旧值 getrange key start end:返回key中字符串的子串 get key:获取指定键的值 set key value:配置指定键的值 (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |