一、基础命令
连接Redis
在命令行中,使用
redis-cli命令连接到Redis服务器。redis-cli如果Redis服务器不在本地或需要指定端口,可以使用
-h和-p选项。redis-cli -h 127.0.0.1 -p 6379基本键操作
KEYS pattern:查找所有符合给定模式的键。KEYS *EXISTS key:检查键是否存在。EXISTS mykeyDEL key [key ...]:删除一个或多个键。DEL mykeyTYPE key:返回键的数据类型。TYPE mykey
过期和持久化
EXPIRE key seconds:设置键的过期时间(以秒为单位)。EXPIRE mykey 60TTL key:获取键的剩余生存时间(以秒为单位)。TTL mykeySAVE:手动将当前数据库的数据快照保存到磁盘。SAVEBGSAVE:在后台异步保存当前数据库的数据快照到磁盘。BGSAVE
二、字符串(String)命令
设置和获取值
SET key value:设置键的值。SET mykey "Hello"GET key:获取键的值。GET mykey
增加和减少
INCR key:将键的值增加1(仅当键的值是整数时)。INCR mycounterDECR key:将键的值减少1(仅当键的值是整数时)。DECR mycounter
获取字符串长度
STRLEN key:获取键的值的长度。STRLEN mykey
三、哈希(Hash)命令
设置和获取字段值
HSET key field value:设置哈希表中字段的值。HSET myhash field1 "value1"HGET key field:获取哈希表中字段的值。HGET myhash field1
获取所有字段和值
HGETALL key:获取哈希表中所有字段和值。HGETALL myhash
判断字段是否存在
HEXISTS key field:判断哈希表中字段是否存在。HEXISTS myhash field1
四、列表(List)命令
向列表添加元素
LPUSH key value1 [value2 ...]:将一个或多个值插入到列表的头部。LPUSH mylist "value1"RPUSH key value1 [value2 ...]:将一个或多个值插入到列表的尾部。RPUSH mylist "value2"
从列表移除元素
LPOP key:移除并返回列表的第一个元素。LPOP mylistRPOP key:移除并返回列表的最后一个元素。RPOP mylist
获取列表范围
LRANGE key start stop:获取列表中的元素范围。LRANGE mylist 0 -1
五、集合(Set)命令
添加元素
SADD key member1 [member2 ...]:将一个或多个成员添加到集合中。SADD myset "member1"
获取集合元素
SMEMBERS key:获取集合中的所有成员。SMEMBERS myset
判断元素是否存在
SISMEMBER key member:判断成员是否存在于集合中。SISMEMBER myset "member1"
六、有序集合(Sorted Set)命令
添加元素
ZADD key score1 member1 [score2 member2 ...]:将一个或多个成员及其分数添加到有序集合中。ZADD mysortedset 1 "one"
获取有序集合范围
ZRANGE key start stop [WITHSCORES]:获取有序集合中的元素范围及其分数。ZRANGE mysortedset 0 -1 WITHSCORES
获取有序集合成员数量
ZCARD key:获取有序集合的成员数量。ZCARD mysortedset
七、高级功能
事务
Redis事务是一组按顺序执行的命令,可以确保命令的原子性。使用
MULTI开始事务,EXEC提交事务,DISCARD放弃事务。MULTI SET key1 "value1" SET key2 "value2" EXEC发布/订阅
Redis提供了发布/订阅模式,允许发送者(发布者)发送消息到频道,接收者(订阅者)从频道接收消息。
PUBLISH channel message:发布消息到频道。PUBLISH mychannel "Hello"SUBSCRIBE channel [channel ...]:订阅一个或多个频道。SUBSCRIBE mychannel
Lua脚本
Redis支持使用Lua脚本进行复杂的操作。使用
EVAL命令执行Lua脚本。EVAL "return redis.call('SET', KEYS[1], ARGV[1])" 1 mykey "Hello"
以上是Redis命令的基础教程,涵盖了连接、键操作、字符串、哈希、列表、集合、有序集合以及高级功能等方面的命令。