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
评论前必须登录!
注册