1.Redis简谈
Redis命令是用于在Redis服务商执行操作的。
在使用Redis命令前需要先下载Redis客户端。
1.1 基础语法
Redis客户端基本语法为:
$redis-cli
实例:
以下实例讲解了如何启动Redis客户端:
启动redis客户端,打开终端并输入命令redis-cli,该命令会连接本地的redis服务。
ping命令,可以检测redis服务是否启动。
C:\Users\ohyes>redis-cli
127.0.0.1:6379> ping
PONG
127.0.0.1:6379>
出现这种情况表示redis服务已启动
1.2 在远程服务商执行命令
在远程redis服务商执行命令也是使用的redis-cli命令。
语法为:
redis-cli -h host -p port -a password
一下为成功连接到了远程主机上的操作:
$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
注意
:
连接后可能会出现中文乱码,可以在redis-cli后面加上–raw即可避免
redis-cli --raw
2. Redis键(key)
Redis键命令用于管理redis键。
2.1 语法:
redis键命令的基本语法如下:
redis 127.0.0.1:6379> COMMAND KEY_NAME
2.2 实例:
redis 127.0.0.1:6379> SET runoobkey redis
OK
redis 127.0.0.1:6379> DEL runoobkey
(integer) 1
在以上实例中 DEL 是一个命令, runoobkey 是一个键。 如果键被删除成功,命令执行后输出 (integer) 1,否则将输出 (integer) 0
附:Redis keys命令集:
更多命令请参考
3. string命令
Redis的String命令是用于管理字符串的相关命令。
3.1 语法:
redis 127.0.0.1:6379> COMMAND KEY_NAME
实例:
redis 127.0.0.1:6379> SET runoobkey redis
OK
redis 127.0.0.1:6379> GET runoobkey
“redis”
在以上实例中,我们使用了set、get命令,键为runoobkey,值为redis。
Redis字符串常用命令:
更多请参考
4. hash哈希字典
Redis的hash是一个string类型的field和value的映射表,hash特别适合用于存储对象。
4.1 实例
127.0.0.1:6379> HMSET runoobkey name “redis tutorial” description “redis basic commands for caching” likes 20 visitors 23000
OK
127.0.0.1:6379> HGETALL runoobkey
- “name”
- “redis tutorial”
- “description”
- “redis basic commands for caching”
- “likes”
- “20”
- “visitors”
- “23000”
在以上实例中,设置了一些field-value到runookey中。然后使用hgetall命令将所有的键值对都显示出来。
hash命令:
更多命令参考
5.list列表
redis列表示简单的字符串列表,按照插入顺序排序,你可以添加一个元素到列表的头部或者尾部。
5.1 实例
redis 127.0.0.1:6379> LPUSH runoobkey redis
(integer) 1
redis 127.0.0.1:6379> LPUSH runoobkey mongodb
(integer) 2
redis 127.0.0.1:6379> LPUSH runoobkey mysql
(integer) 3
redis 127.0.0.1:6379> LRANGE runoobkey 0 10
- “mysql”
- “mongodb”
- “redis”
在以上实例中使用了lpush将三个值插入了名为runoobkey的列表当中,并使用lrange将其打印出来。
附列表相关的基本操作:
6. set集合
redis的set是String类型的无序集合,集合成员是唯一的,这就意味着集合中不能出现重复的数据。
redis中集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)
6.1 实例
redis 127.0.0.1:6379> SADD runoobkey redis
(integer) 1
redis 127.0.0.1:6379> SADD runoobkey mongodb
(integer) 1
redis 127.0.0.1:6379> SADD runoobkey mysql
(integer) 1
redis 127.0.0.1:6379> SADD runoobkey mysql
(integer) 0
redis 127.0.0.1:6379> SMEMBERS runoobkey
- “mysql”
- “mongodb”
- “redis”
在以上事例中,通过使用sadd命令向key为sunoobkey的集合中插入了三个元素,使用smembers命令打印元素。
7. sorted set 有序集合
redis有序集合和集合一样是string类型元素的集合,且不允许重复的成员呢。
不同的是每个元素都会关联一个double类型的分数,redis正式通过分数来为集合中的成员进行从小到大的排序。
有序集合的成员是唯一的,但分数却可以重复。
有序集合的添加,删除,查找的复杂度都为O(1)
7.1 实例
redis 127.0.0.1:6379> ZADD runoobkey 1 redis
(integer) 1
redis 127.0.0.1:6379> ZADD runoobkey 2 mongodb
(integer) 1
redis 127.0.0.1:6379> ZADD runoobkey 3 mysql
(integer) 1
redis 127.0.0.1:6379> ZADD runoobkey 3 mysql
(integer) 0
redis 127.0.0.1:6379> ZADD runoobkey 4 mysql
(integer) 0
redis 127.0.0.1:6379> ZRANGE runoobkey 0 10 WITHSCORES
- “redis”
- “1”
- “mongodb”
- “2”
- “mysql”
- “4”
在以上实例中,我们通过zadd向redis的有序集合中添加了三个值并关联了分数。相同的值不同的分数会覆盖。
有序集合命令: