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>

【redis深入教程(配置redis、redis所有数据类型详解)】在上面的例子中,散列数据类型用于存储包含用户基本信息的用户对象。这里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

    推荐阅读