redis教程02

来源:互联网 发布:阿里云 证书被ios信任 编辑:程序博客网 时间:2024/06/06 20:20
1. 数据类型


Redis支持5种数据类型,它们描述如下:

Strings - 字符串
Redis的字符串是字节序列。在Redis中字符串是二进制安全的,这意味着他们有一个已知的长度,是没有任何特殊字符终止决定的,所以可以存储任何东西,最大长度可达512兆。

例子
redis 127.0.0.1:6379> SET name "yiibai"
OK
redis 127.0.0.1:6379> GET name
"yiibai"
在上面的例子使用Redis命令set和get,Redis的名称是yiibai的键存储在Redis的字符串值。


注:字符串值可以存储最大512兆字节的长度。


Hashes - 哈希值
Redis的哈希键值对的集合。 Redis的哈希值是字符串字段和字符串值之间的映射,所以它们被用来表示对象


例子
redis 127.0.0.1:6379> HMSET user:1 username yiibai password yiibai points 200
OK
redis 127.0.0.1:6379> HGETALL user:1


1) "username"
2) "yiibai"
3) "password"
4) "yiibai"
5) "points"
6) "200"


在上面的例子中的哈希数据类型,用于存储包含用户的基本信息用户的对象。这里HMSET,HEXTALL对于Redis 命令 user:1 是键。


每个哈希可存储多达232 - 1个 字段 - 值对(超过4十亿)。


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


例子
redis 127.0.0.1:6379> lpush tutoriallist redis
(integer) 1
redis 127.0.0.1:6379> lpush tutoriallist mongodb
(integer) 2
redis 127.0.0.1:6379> lpush tutoriallist rabitmq
(integer) 3
redis 127.0.0.1:6379> lrange tutoriallist 0 10


1) "rabitmq"
2) "mongodb"
3) "redis"


列表的最大长度为232- 1元素(4294967295,每个列表中的元素超过4十亿)。


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


例子
redis 127.0.0.1:6379> sadd tutoriallist redis
(integer) 1
redis 127.0.0.1:6379> sadd tutoriallist mongodb
(integer) 1
redis 127.0.0.1:6379> sadd tutoriallist rabitmq
(integer) 1
redis 127.0.0.1:6379> sadd tutoriallist rabitmq
(integer) 0
redis 127.0.0.1:6379> smembers tutoriallist


1) "rabitmq"
2) "mongodb"
3) "redis"


注意:在上面的例子中rabitmq设置属性加两次,但由于唯一性只加一次。


成员中集最大数量为232 - 1(4294967295,集合成员超过4十亿)。


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


例子
redis 127.0.0.1:6379> zadd tutoriallist 0 redis
(integer) 1
redis 127.0.0.1:6379> zadd tutoriallist 0 mongodb
(integer) 1
redis 127.0.0.1:6379> zadd tutoriallist 0 rabitmq
(integer) 1
redis 127.0.0.1:6379> zadd tutoriallist 0 rabitmq
(integer) 0
redis 127.0.0.1:6379> ZRANGEBYSCORE tutoriallist 0 1000


1) "redis"
2) "mongodb"
3) "rabitmq"


2. Redis命令


Redis命令用于在redis服务器上执行某些操作。


要在Redis服务器上运行的命令,需要一个Redis客户端。 Redis客户端在Redis的包,这已经我们前面安装使用过了。


语法
Redis客户端的基本语法如下:


$redis-cli
例子
下面举例说明如何使用Redis客户端。


要启动redis客户端,打开终端,输入命令Redis命令行:redis-cli。这将连接到本地服务器,现在就可以运行各种命令了。


$redis-cli
redis 127.0.0.1:6379>
redis 127.0.0.1:6379> PING


PONG


在上面的例子中,我们连接到本地机器上运行的Redis服务器,并且执行ping命令,来检查是否服务器正在运行。


远程服务器上运行命令
要在Redis远程服务器上运行的命令,需要通过同一个客户端redis-cli 连接到服务器


语法
$ redis-cli -h host -p port -a password
例如
下面的示例演示了如何连接到Redis主机:127.0.0.1,端口:6379 上的远程服务器,并加上验证密码为:mypass。


$redis-cli -h 127.0.0.1 -p 6379 -a "mypass"
redis 127.0.0.1:6379>
redis 127.0.0.1:6379> PING


PONG


3. Redis键


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


语法
redis 127.0.0.1:6379> COMMAND KEY_NAME
例子
redis 127.0.0.1:6379> SET yiibai redis
OK
redis 127.0.0.1:6379> DEL yiibai
(integer) 1
在上面的例子中DEL是命令,而yiibai是键。如果键被删除那么输出该命令将是 (integer) 1,否则它是 (integer) 0


Redis的键命令
如下表显示键的一些基本命令:


S.N. 命令 & 描述
1 DEL key
此命令删除键,如果存在
2 DUMP key 
该命令返回存储在指定键的值的序列化版本。
3 EXISTS key 
此命令检查该键是否存在。
4 EXPIRE key seconds
指定键的过期时间
5 EXPIREAT key timestamp 
指定的键过期时间。在这里,时间是在Unix时间戳格式
6 PEXPIRE key milliseconds 
设置键以毫秒为单位到期
7 PEXPIREAT key milliseconds-timestamp 
设置键在Unix时间戳指定为毫秒到期
8 KEYS pattern 
查找与指定模式匹配的所有键
9 MOVE key db 
移动键到另一个数据库
10 PERSIST key 
移除过期的键
11 PTTL key 
以毫秒为单位获取剩余时间的到期键。
12 TTL key 
获取键到期的剩余时间。
13 RANDOMKEY 
从Redis返回随机键
14 RENAME key newkey 
更改键的名称
15 RENAMENX key newkey 
重命名键,如果新的键不存在
16 TYPE key 
返回存储在键的数据类型的值。
0 0
原创粉丝点击