redis哈希和集合_动力节点Java学院整理

作者:计算机教程

Redis排序命令集

有序集合

Redis的有序集合类似于Redis的集合,字符串不重复的集合。不同的是,一个有序集合的每个成员用分数,以便采取有序set命令,从最小的到最大的成员分数有关。虽然成员具有唯一性,但分数可能会重复。

如下表显示与排序集的一些基本命令:

Redis - 安全

可以Redis的数据库更安全,所以相关的任何客户端都需要在执行命令之前进行身份验证。客户端输入密码匹配需要使用Redis设置在配置文件中的密码。

有序集合

字符串

Redis字符串是字节序列。Redis字符串是二进制安全的,这意味着他们有一个已知的长度没有任何特殊字符终止,所以你可以存储任何东西,512兆为上限。

Redis的命令列表

Redis 优势

  • 异常快速:Redis的速度非常快,每秒能执行约11万集合,每秒约81000 条记录。

  • 支持丰富的数据类型:Redis支持最大多数开发人员已经知道像列表,集合,有序集合,散列数据类型。这使得它非常容易解决各种各样的问题,因为我们知道哪些问题是可以处理通过它的数据类型更好。

  • nba买球,操作都是原子性:所有Redis操作是原子的,这保证了如果两个客户端同时访问的Redis服务器将获得更新后的值。

  • 多功能实用工具:Redis是一个多实用的工具,可以在多个用例如缓存,消息,队列使用(Redis原生支持发布/订阅),任何短暂的数据,应用程序,如Web应用程序会话,网页命中计数等。

在上面的例子中,我们已经设置Redis的详细教程(name, description, likes, visitors)在哈希名称为 yiibaiRedis的哈希命令如下表所示哈希一些基本的命令:

在Ubuntu上安装Redis的桌面管理器

在Ubuntu上安装Redis的桌面管理器,只需从 http://redisdesktop.com/download 打开下载软件包并安装它。

Redis桌面管理器会给你用户界面来管理Redis的Key和数据。

例子

例子

 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 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"

例子

 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"

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

客户端的最大数量

在Redis的配置(redis.conf)属性调用maxclients,它描述客户端可以连接到Redis的最大数量。命令的基本语法是:

1 config get maxclients
2 
3 1) "maxclients"
4 2) "10000"

默认情况下,此属性设置为10000(这取决于操作系统的文件描述符限制最大数量),但你可以改变这个属性。

Redis列表是简单的字符串列表,排序插入顺序。您可以在头部或列表的尾部Redis的列表添加元素。列表的最大长度为232- 1 (每个列表超过4十亿元素4294967295)元素。

语法

1 redis 127.0.0.1:6379> COMMAND KEY_NAME
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"

语法

1 redis 127.0.0.1:6379> COMMAND KEY_NAME

Redis排序命令集

Redis - Strings

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

Redis有序集合类似Redis集合存储在设定值唯一性。不同的是,一个有序集合的每个成员带有分数,用于以便采取有序set命令,从最小的到最大的分数有关。

Redis - 基准

Redis基准是公用工具同时运行Ñ命令检查Redis的性能。

例子

Redis - 列表

Redis的列表是简单的字符串列表,排序插入顺序。您可以添加Redis元素在列表头部或列表的尾部。

列表的最大长度为 232 - 1 个元素(每个列表元素个数超过4294967295)。

Redis的哈希值是字符串字段和字符串值之间的映射,所以他们是表示对象的完美数据类型在Redis中的哈希值,可存储超过400十亿键值对。

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的基准的基本语法如下所示:

1 redis-benchmark [option] [option value]

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

例子

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

如下表所示相关列出了一些基本的命令:

例子

 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脚本的工作原理:

1 redis 127.0.0.1:6379> EVAL "return {KEYS[1],KEYS[2],ARGV[1],ARGV[2]}" 2 key1 key2 first second
2 
3 1) "key1"
4 2) "key2"
5 3) "first"
6 4) "second"

例子

例子

下面的示例说明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

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

例子

 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十亿每个元素的集合)。

例子

 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的实例。

(文章出处:http://www.yiibai.com/redis/redis_quick_guide.html)

Redis有序集合类似Redis集合存储在设定值唯一性。不同的是,一个有序集合的每个成员带有分数,用于以便采取有序set命令,从最小的到最大的分数有关。

管道传输的含义

管道的基本含义是,客户端可以发送多个请求给服务器,而无需等待答复所有,并最后读取在单个步骤中的答复。

如下表显示与排序集的一些基本命令:

例子

下面的示例显示了 Redis 当前数据库如何创建备份。

1 127.0.0.1:6379> SAVE
2 
3 OK

这个命令将创建dump.rdb文件在Redis目录中。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

例子

 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 有序set添加,删除和测试中的O(1)的存在成员(固定时间,无论里面包含的元素集合的数量)。列表的最大长度为232- 1元素(4294967295,超过4十亿每个元素的集合)。

Redis - 哈希

Redis的哈希值是字符串字段和字符串值之间的映射,所以他们是代表对象的完美数据类型

在Redis的哈希值,最多可存储超过400十亿字段

  • 值对。
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实例的范围内实现。假定在本例中用户ID0〜ID10000将进入实例R0,而用户形成ID10001至20000号将进入实例R1等等。

集合

Bgsave

要创建Redis的备份备用命令BGSAVE也可以。这个命令将开始执行备份过程,并在后台运行。

列表

Redis的列表是简单的字符串列表,排序插入顺序。您可以添加元素到Redis的列表的头部或尾部。

Redis是一个开源,先进的key-value存储,并用于构建高性能,可扩展的Web应用程序的完美解决方案。

例子

下面给出的例子显示的步骤,以确保您的Redis实例安全。

1 127.0.0.1:6379> CONFIG get requirepass
2 1) "requirepass"
3 2) ""

默认情况下,此属性为空,表示没有设置密码,此实例。您可以通过执行以下命令来更改这个属性

1 127.0.0.1:6379> CONFIG set requirepass "yiibai"
2 OK
3 127.0.0.1:6379> CONFIG get requirepass
4 1) "requirepass"
5 2) "yiibai"

设置密码,如果客户端运行命令没有验证,会提示(错误)NOAUTH,需要通过验证。错误将返回客户端。因此,客户端需要使用AUTHcommand进行认证。

Redis - 分区

分区是一种将数据分成多个Redis的情况下,让每一个实例将只包含你的键字的子集的过程。

例子

Redis的事务由指令多重发起,然后需要传递在事务,而且整个事务是通过执行命令EXEC执行命令列表。

1 redis 127.0.0.1:6379> MULTI
2 OK
3 List of commands here
4 redis 127.0.0.1:6379> EXEC

Redis从它的许多竞争继承来的三个主要特点:

本文由nba买球发布,转载请注明来源

关键词: