【转】Redis入门

Redis的哈希值是字符串字段和字符串值之间的映照,所以她们是代表对象的巨细无遗体据类型在Redis中的哈希值,可存款和储蓄超过400十亿键值对。

Redis是一个开源,先进的key-value存款和储蓄,并用于创设高质量,可扩展的Web应用程序的康健技术方案。

例子

Redis从它的成都百货上千竞争世襲来的八个基本点特点:

redis 127.0.0.1:6379 HMSET yiibai name "redis tutorial" description "redis basic commands for caching" likes 20 visitors 23000OKredis 127.0.0.1:6379 HGETALL yiibai1) "name"2) "redis tutorial"3) "description"4) "redis basic commands for caching"5) "likes"6) "20"7) "visitors"8) "23000"
  • Redis数据库完全在内存中,使用磁盘仅用于漫长性。

  • 相对来说多数键值数据存款和储蓄,Redis具备一套较为足够的数据类型。

  • Redis能够将数据复制到自便数量的从服务器。

在下边的事例中,大家已经设置Redis的详尽教程(name, description, likes,
visitors卡塔尔(قطر‎在哈希名喻为
yiibaiRedis的哈希命令如下表所示哈希一些中央的一声令下:

Redis 优势

  • 特别敏捷:Redis的快慢非常快,每秒能实行约11万相会,每秒约81000+条记下。

  • 帮助加多的数据类型:Redis支持最大超级多开辟人士已经知道像列表,会集,有序集中,散列数据类型。那使得它特别轻便撤消五花八门的主题素材,因为我们明白哪些难点是能够拍卖通过它的数据类型越来越好。

  • 操作都是原子性:全体Redis操作是原子的,那保障了假使四个客商端同期做客的Redis服务器将收获改良后的值。

  • 多职能实用工具:Redis是二个多实用的工具,能够在三个用举个例子缓存,新闻,队列使用(Redis原生帮忙发表/订阅卡塔尔国,任何短暂的数据,应用程序,如Web应用程序会话,网页命中计数等。

列表

Redis – 环境

Ubuntu上设置Redis,展开终端,然后键入以下命令:

1 $sudo apt-get update
2 $sudo apt-get install redis-server

那将要你的微机上设置Redis。

启动 Redis

1 $redis-server

自己谈论Redis是还是不是在工作?

1 $redis-cli

那将开发三个Redis提醒,如下图所示:

1 redis 127.0.0.1:6379>

地方的唤起127.0.0.1是本机的IP地址,6379为Redis服务器运营的端口。今后输入PING命令,如下图所示。

redis 127.0.0.1:6379> ping
PONG

那申明你已经成功地设置Redis在您的机械上。

Redis列表是归纳的字符串列表,排序插入顺序。您能够在头顶或列表的尾巴Redis的列表添港成分。列表的最大尺寸为232-
1 (种种列表超过4十亿因素4294967295卡塔尔(قطر‎成分。

在Ubuntu上设置Redis的桌面管理器

在Ubuntu上安装Redis的桌面微处理器,只需从
展开下载软件包并设置它。

Redis桌面微处理机会给你客户分界面来保管Redis的Key和数码。

例子

Redis – 数据类型

Redis扶持5种等级次序的数据类型,它描述如下的:

redis 127.0.0.1:6379 LPUSH tutorials redis(integer) 1redis 127.0.0.1:6379 LPUSH tutorials mongodb(integer) 2redis 127.0.0.1:6379 LPUSH tutorials mysql(integer) 3redis 127.0.0.1:6379 LRANGE tutorials 0 101) "mysql"2) "mongodb"3) "redis"

字符串

Redis字符串是字节连串。Redis字符串是二进制安全的,那表示他们有叁个已知的长短未有别的特殊字符终止,所以您能够储存任何事物,512兆为上限。

在上述例子中的七个值被插入到redis的列表命名tutorials 使用LPUSH命令。

例子

1 redis 127.0.0.1:6379> SET name "yiibai"
2 OK
3 redis 127.0.0.1:6379> GET name
4 "yiibai"

地点是Redis的set和get命令的例证,Redis名字为yiibai使用的key存款和储蓄在Redis的字符串值。

澳门金沙vip,Redis的下令列表

哈希

Redis的哈希是键值对的集纳。
Redis的哈希值是字符串字段和字符串值之间的映照,由此它们被用来表示对象

平时来讲表所示相关列出了有的主导的指令:

例子

 1 redis 127.0.0.1:6379> HMSET user:1 username yiibai password yiibai points 200
 2 OK
 3 redis 127.0.0.1:6379> HGETALL user:1
 4 
 5 1) "username"
 6 2) "yiibai"
 7 3) "password"
 8 4) "yiibai"
 9 5) "points"
10 6) "200"

在地点的例证中的哈希数据类型,用于存款和储蓄此中含有的客商的基本消息客商的目的。这里HMSET,HEGTALL客商命令user:1是键。

集合

列表

Redis的列表是简轻松单的字符串列表,排序插入顺序。您能够添美成分到Redis的列表的尾部或尾部。

Redis有序群集形似Redis集结存款和储蓄在设定值独一性。不相同的是,三个不改变聚焦的种种成员带有分数,用于以便利用有序set命令,从细微的到最大的分数有关。

例子

 1 redis 127.0.0.1:6379> lpush tutoriallist redis
 2 (integer) 1
 3 redis 127.0.0.1:6379> lpush tutoriallist mongodb
 4 (integer) 2
 5 redis 127.0.0.1:6379> lpush tutoriallist rabitmq
 6 (integer) 3
 7 redis 127.0.0.1:6379> lrange tutoriallist 0 10
 8 
 9 1) "rabitmq"
10 2) "mongodb"
11 3) "redis"

列表的最大尺寸为 232 –
1 成分(4294967295,每一个列表中可容纳超越4十亿的因素)。

Redis
有序set增加,删除和测验中的O(1卡塔尔国的存在成员(固定时期,无论里面包罗的因素集合的多寡卡塔尔。列表的最大尺寸为232-
1成分(4294967295,抢先4十亿每一种成分的集中卡塔尔。

集合

Redis的成团是字符串的冬季集聚。在Redis您能够增添,删除和测量检验文件是或不是留存,在成员O(1)的时刻复杂度。

例子

例子

 1 redis 127.0.0.1:6379> sadd tutoriallist redis
 2 (integer) 1
 3 redis 127.0.0.1:6379> sadd tutoriallist mongodb
 4 (integer) 1
 5 redis 127.0.0.1:6379> sadd tutoriallist rabitmq
 6 (integer) 1
 7 redis 127.0.0.1:6379> sadd tutoriallist rabitmq
 8 (integer) 0
 9 redis 127.0.0.1:6379> smembers tutoriallist
10 
11 1) "rabitmq"
12 2) "mongodb"
13 3) "redis"

注意:在上面的事例中rabitmq集合增多加五遍,但鉴于会集成分具备独一属性。

汇集中的成分最大数据为 232 –
1 (4294967295,可容纳超越4十亿要素)。

redis 127.0.0.1:6379 ZADD tutorials 1 redis(integer) 1redis 127.0.0.1:6379 ZADD tutorials 2 mongodb(integer) 1redis 127.0.0.1:6379 ZADD tutorials 3 mysql(integer) 1redis 127.0.0.1:6379 ZADD tutorials 3 mysql(integer) 0redis 127.0.0.1:6379 ZADD tutorials 4 mysql(integer) 0redis 127.0.0.1:6379 ZRANGE tutorials 0 10 WITHSCORES1) "redis"2) "1"3) "mongodb"4) "2"5) "mysql"6) "4"

不改变聚集

Redis的稳步聚集雷同于Redis的联谊,字符串不另行的联谊。不相同的是,一个不改变聚焦的各种成员用分数,以便利用有序set命令,从超级小的到最大的积极分子分数有关。纵然成员具有唯一性,但分数恐怕会重复。

在上述例子中的几个值由命令ZADD插入其分数在redis排序群集併命名tutorials。

例子

 1 redis 127.0.0.1:6379> zadd tutoriallist 0 redis
 2 (integer) 1
 3 redis 127.0.0.1:6379> zadd tutoriallist 0 mongodb
 4 (integer) 1
 5 redis 127.0.0.1:6379> zadd tutoriallist 0 rabitmq
 6 (integer) 1
 7 redis 127.0.0.1:6379> zadd tutoriallist 0 rabitmq
 8 (integer) 0
 9 redis 127.0.0.1:6379> ZRANGEBYSCORE tutoriallist 0 1000
10 
11 1) "redis"
12 2) "mongodb"
13 3) "rabitmq"

Redis排序命令集

Redis – keys

Redis
keys命令用于在Redis的管理键。Redis keys命令使用语法如下所示:

如下表突显与排序集的一对骨干命令:

语法

1 redis 127.0.0.1:6379> COMMAND KEY_NAME

稳步集中

例子

1 redis 127.0.0.1:6379> SET yiibai redis
2 OK
3 redis 127.0.0.1:6379> DEL yiibai
4 (integer) 1

在上头的例子中DEL是命令,而yiibai是key。借使key被剔除,那么输出该命令将是(整数)1,不然它会是(整数)0

Redis有序集合肖似Redis集合存款和储蓄在设定值独一性。分歧的是,多个平稳集中的种种成员带有分数,用于以便利用有序set命令,从相当小的到最大的分数有关。

Redis – Strings

Redis
strings命令用于在Redis的田间管理字符串值。Redis
strings命令的利用语法,如下所示:

Redis
有序set增添,删除和测量检验中的O(1State of Qatar的留存成员(固定期间,无论里面包罗的因素集结的数量卡塔尔。列表的最大尺寸为232-
1成分(4294967295,当先4十亿各类成分的会集卡塔尔(قطر‎。

语法

1 redis 127.0.0.1:6379> COMMAND KEY_NAME

例子

例子

1 redis 127.0.0.1:6379> SET yiibai redis
2 OK
3 redis 127.0.0.1:6379> GET yiibai
4 "redis"

在地点的例证SET和GET是命令,而yiibai是key。

redis 127.0.0.1:6379 ZADD tutorials 1 redis(integer) 1redis 127.0.0.1:6379 ZADD tutorials 2 mongodb(integer) 1redis 127.0.0.1:6379 ZADD tutorials 3 mysql(integer) 1redis 127.0.0.1:6379 ZADD tutorials 3 mysql(integer) 0redis 127.0.0.1:6379 ZADD tutorials 4 mysql(integer) 0redis 127.0.0.1:6379 ZRANGE tutorials 0 10 WITHSCORES1) "redis"2) "1"3) "mongodb"4) "2"5) "mysql"6) "4"

Redis – 哈希

Redis的哈希值是字符串字段和字符串值之间的映照,所以他们是意味着对象的完备数据类型

在Redis的哈希值,最多可存款和储蓄超越400十亿字段

  • 值对。

在上述例子中的八个值由命令ZADD插入其分数在redis排序集合併命名tutorials。

例子

 1 redis 127.0.0.1:6379> HMSET yiibai name "redis tutorial" description "redis basic commands for caching" likes 20 visitors 23000
 2 OK
 3 redis 127.0.0.1:6379> HGETALL yiibai
 4 
 5 1) "name"
 6 2) "redis tutorial"
 7 3) "description"
 8 4) "redis basic commands for caching"
 9 5) "likes"
10 6) "20"
11 7) "visitors"
12 8) "23000"

在地点的事例中,已经在哈希命名yiibai的Redis集结名字为tutorials(name,
description, likes, visitors)

Redis排序命令集

Redis – 列表

Redis的列表是总结的字符串列表,排序插入顺序。您能够增多Redis成分在列表底部或列表的尾巴部分。

列表的最大尺寸为
232 – 1 个要素(各样列表成分个数超越4294967295)。

如下表展现与排序集的局地主导命令:

例子

 1 redis 127.0.0.1:6379> LPUSH tutorials redis
 2 (integer) 1
 3 redis 127.0.0.1:6379> LPUSH tutorials mongodb
 4 (integer) 2
 5 redis 127.0.0.1:6379> LPUSH tutorials mysql
 6 (integer) 3
 7 redis 127.0.0.1:6379> LRANGE tutorials 0 10
 8 
 9 1) "mysql"
10 2) "mongodb"
11 3) "redis"

在上述例子中的五个值被插入在redis列表名称为LPUSH的指令教程。

上述就是本文的全体内容,希望对大家的求学抱有利于,也盼望大家多都赐教脚本之家。

Redis – 集合

Redis的联谊是独一的字符串的冬季聚焦。集结的独一性不准数据的再次的键。

在Redis的会面增加,删除和测量试验文件是还是不是存在成员在O(1)(常数时间随意里面含有的要素集结的多寡)。会集的最大尺寸为
232 – 1 个成分(每会集当先4294967295成分)。

例子

 1 redis 127.0.0.1:6379> SADD tutorials redis
 2 (integer) 1
 3 redis 127.0.0.1:6379> SADD tutorials mongodb
 4 (integer) 1
 5 redis 127.0.0.1:6379> SADD tutorials mysql
 6 (integer) 1
 7 redis 127.0.0.1:6379> SADD tutorials mysql
 8 (integer) 0
 9 redis 127.0.0.1:6379> SMEMBERS tutorials
10 
11 1) "mysql"
12 2) "mongodb"
13 3) "redis"

在上述例子中的多个值被命令SADD插入redis的聚合名称tutorials。

Redis有序集

Redis的稳步聚集形似Redis的聚集存款和储蓄在设定值具备独一性。不一致的是,二个平稳集中的各种成员用分数,以便利用有序set命令,从十分小的到最大的分数有关。

在Redis的不改变set增多,删除和测量试验存在成员O(1)(固准时间,无论里面含有群集成分的多寡)。列表的最大尺寸为
232 – 1 个成分(每集结超越4294967295因素)。

例子

 1 redis 127.0.0.1:6379> ZADD tutorials 1 redis
 2 (integer) 1
 3 redis 127.0.0.1:6379> ZADD tutorials 2 mongodb
 4 (integer) 1
 5 redis 127.0.0.1:6379> ZADD tutorials 3 mysql
 6 (integer) 1
 7 redis 127.0.0.1:6379> ZADD tutorials 3 mysql
 8 (integer) 0
 9 redis 127.0.0.1:6379> ZADD tutorials 4 mysql
10 (integer) 0
11 redis 127.0.0.1:6379> ZRANGE tutorials 0 10 WITHSCORES
12 
13 1) "redis"
14 2) "1"
15 3) "mongodb"
16 4) "2"
17 5) "mysql"
18 6) "4"

在上述例子中的多个值被下令ZADD插入其得分在redis的稳步集命名字为tutorials。

Redis – HyperLogLog

Redis的HyperLogLog使用随机化,以提供独一的成分数目相近的集中只使用几个常数,况包体量小,一些些内部存款和储蓄器的算法。

HyperLogLog提供,固然每一个使用了特别微量的内部存款和储蓄器(12千字节),规范绝对误差为集聚的基数极其周围,未有范围的家有家规数,能够钦定,除非贴近 264个条目。

例子

上边的言传身教表明Redis的HyperLogLog工作规律:

 1 redis 127.0.0.1:6379> PFADD tutorials "redis"
 2 
 3 1) (integer) 1
 4 
 5 redis 127.0.0.1:6379> PFADD tutorials "mongodb"
 6 
 7 1) (integer) 1
 8 
 9 redis 127.0.0.1:6379> PFADD tutorials "mysql"
10 
11 1) (integer) 1
12 
13 redis 127.0.0.1:6379> PFCOUNT tutorials
14 
15 (integer) 3

Redis – 订阅

Redis的订阅实现了邮件系统,发送者(在Redis的术语中被叫作公布者)发送的邮件,而选取器(客户)接纳它们。由该音讯传送的链路被称作通道。

在Redis客商端能够订阅其余数据的坦途。