个性化阅读
专注于IT技术分析

redis深入教程:配置redis、redis所有数据类型详解

Redis上一章教程请查看:redis介绍和安装redis

在本章redis教程中我们开始进行简单的redis配置,以及讨论redis的所有数据类型。

一、redis配置

1、获取配置

在Redis的根目录中有一个可用的配置文件(Redis.conf),你可以通过Redis配置命令获取和设置所有的Redis配置,以下是Redis配置命令的基本语法。

CONFIG GET CONFIG_SETTING_NAME

如config get loglevel获取日志级别的配置,获取所有配置可使用config get *。

2、更新配置

更新配置可以直接编辑redis.conf文件,也可以通过config set命令更新配置,以下是redis更新配置命令的基本语法:

CONFIG SET CONFIG_SETTING_NAME NEW_CONFIG_VALUE

例如更改redis的日志级别配置:config set loglevel “notice”。

二、redis的5大数据类型

1、字符串String

Redis字符串是一个字节序列并且是二进制安全的,这意味着它们的长度是已知的,而不是由任何特殊的终止字符决定的,因此可以在一个字符串中存储最多512mb的内容。

127.0.0.1:6379> set name "srcmini"
OK
127.0.0.1:6379> get name
"srcmini"

在上面的例子中SET和GET是Redis命令,name是Redis中使用的键,srcmini是字符串值,注意一个字符串值的长度可以是最大512兆字节。

2、散列hash

Redis散列是键值对的集合,一般用来表示一个对象,因为它是字符串字段和字符串值之间的映射。

127.0.0.1:6379> hmset obj name "once" age 18
OK
127.0.0.1:6379> hgetall obj
1) "name"
2) "once"
3) "age"
4) "18"
127.0.0.1:6379> hget obj name
"once"
127.0.0.1:6379> hmget obj age
1) "18"
127.0.0.1:6379>

在上面的例子中,散列数据类型用于存储包含用户基本信息的用户对象。这里HMSET、HGETALL是针对Redis的命令,而用户obj是关键字。每个散列最多可以存储2^32 – 1个字段值对(超过40亿)。

3、列表list

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

127.0.0.1:6379> lpush post java
(integer) 1
127.0.0.1:6379> lpush post javascript
(integer) 2
127.0.0.1:6379> lpush post python
(integer) 3
127.0.0.1:6379> lpush post c++
(integer) 4
127.0.0.1:6379> lpop post
"c++"
127.0.0.1:6379> lpop post
"python"
127.0.0.1:6379> lpop post
"javascript"

列表的最大长度是2^32 – 1个元素(4294967295,每个列表有超过40亿个元素)。

4、集合set

Redis集合是字符串的无序集合,你可以在O(1)时间复杂度中添加、删除和测试成员的存在性。

127.0.0.1:6379> sadd dev css
(integer) 1
127.0.0.1:6379> sadd dev mongodb
(integer) 1
127.0.0.1:6379> sadd dev mysql
(integer) 1
127.0.0.1:6379> smembers dev
1) "css"
2) "mysql"
3) "mongodb"

注意在上面的例子中,如果一个数据添加了两次,由于集合的惟一属性,它只会添加了一次。一个集合的最大成员数是2^32 – 1(4294967295,每个集合超过40亿成员)。

5、有序集合sorted set

Redis有序集类似于Redis集合是字符串的非重复集合,不同的是一个有序集的每个成员都与一个分数相关联,这个分数用于有序集的排序,从最小的分数到最大的分数,虽然会员是独一无二的,但分数可能是重复的。

127.0.0.1:6379> zadd db 1 mysql
(integer) 1
127.0.0.1:6379> zadd db 1 mongodb
(integer) 1
127.0.0.1:6379> zadd db 2 redis
(integer) 1
127.0.0.1:6379> zadd db 3 memcached
(integer) 1
127.0.0.1:6379> zadd db 4 sqlite
(integer) 1
赞(0)
未经允许不得转载:srcmini » redis深入教程:配置redis、redis所有数据类型详解

评论 抢沙发

评论前必须登录!