文章目录
- 1. 安装
- 2. 常用命令
- 2.1. 连接远程redis服务器
- 2.2. 键相关的基本命令
- 2.3. 字符串string相关命令
- 2.4. 哈希hash相关命令
- 2.5. 链表List相关命令
- 2.6. 集合Set相关命令
- 2.7. 有序集合sorted set
- 2.8. HyperLogLog基数统计
- 2.9. 发布订阅
- 2.10. Redis事务
- 2.11. redis连接
- 2.12. redis服务器命令
- 3. 参考
redis的安装、常用命令、关键知识点。
安装
代码语言:javascript复制#下载
wget http://download.redis.io/releases/redis-xxx.tar.gz
tar xzf redis-xxx.tar.gz
cd redis-xxx
make
#运行server
./src/redis-server &
#启动客户端使用
./src/redis-cli
redis> set foo bar
OK
redis> get foo
"bar"
常用命令
连接远程redis服务器
代码语言:javascript复制$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
键相关的基本命令
当key存在时删除key
代码语言:javascript复制DEL key
序列化给定的key并返回
代码语言:javascript复制DUMP key
检查给定的key是否存在
代码语言:javascript复制EXISTS key
为key设定过期时间,以秒计
代码语言:javascript复制EXPIRE key seconds
为key设定过期时间,接收时间戳
代码语言:javascript复制EXPIREAT key timestamp
查找符合给定模式的key
代码语言:javascript复制KEYS pattern
移除key的过期时间
代码语言:javascript复制PERSIST key
修改key的名称
代码语言:javascript复制RENAME key newkey
字符串string相关命令
设置、获取key值
代码语言:javascript复制SET key value
GET key
返回key对应字符串的长度
代码语言:javascript复制STRLEN key
同时设置多个key-value
代码语言:javascript复制MSET key1 value1 key2 value2
在key对应value后面追加字符串
代码语言:javascript复制APPEND key str1
哈希hash相关命令
设置、获取hash表
代码语言:javascript复制HMSET key name1 "value1" name2 "value2"
HGETALL key
"name1"
"value1"
"name2"
"value2"
删除一个或多个hash表字段
代码语言:javascript复制HDEL key name1 [name2]
查看某字段是否存在
代码语言:javascript复制HEXISTS key name1
获取指定字段的值
代码语言:javascript复制HGET key name1
为hash表key的某整数字段加增量
代码语言:javascript复制HINCRBY key name2 increment
链表List相关命令
在右边添加或删除元素
代码语言:javascript复制RPUSH key name1 name2 ...
RPOP key
在左边添加或删除元素
代码语言:javascript复制LPUSH key name1 name2
LPOP key
获取指定范围元素
代码语言:javascript复制RANGE key 0 9
获取链表长度
代码语言:javascript复制LLEN key
通过索引设置列表元素的值
代码语言:javascript复制LSET key index value
集合Set相关命令
往集合添加元素
代码语言:javascript复制SADD key redis
SADD key mysql
SADD key mongodb zeromq kafka
获取集合成员数
代码语言:javascript复制SCARD key
返回集合中所有成员
代码语言:javascript复制SMEMBERS key
返回集合的差集
代码语言:javascript复制SADD s1 1 2 3 4 5
SADD s2 4 5 6 7 8
SDIFF s1 s2
1 2 3
返回所有集合的交集
代码语言:javascript复制SINTER key1 key2 ...
返回集合的并集
代码语言:javascript复制SUNION key1 key2 ...
计算差集并创建新集合
代码语言:javascript复制SDIFFSTORE newkey s1 s2
计算交集并创建新集合
代码语言:javascript复制SINTERSTORE newkey key1 [key2]
计算并集并创建新集合
代码语言:javascript复制UNIONSTORE newkey key1 [key2]
判断member是否为集合key的成员
代码语言:javascript复制SISMEMBER key member
将member从src移动到dst
代码语言:javascript复制SMOVE src dst member
有序集合sorted set
往有序集合添加元素
代码语言:javascript复制ZADD key 1 redis
ZADD key 2 mongodb 3 mysql
范围查询元素
代码语言:javascript复制ZRANGE key 0 10 WITHSCORES
获取有序集合的成员数
代码语言:javascript复制ZCARD key
计算指定分数区间的成员数
代码语言:javascript复制ZCOUNT key min max
计算交集并储存到新集合
代码语言:javascript复制ZINTERSTORE dst numkeys key1 [key2...]
计算并集并储存到新集合
代码语言:javascript复制ZUNIONSTORE dst numkeys key [key...]
通过分数返回指定区间的成员
代码语言:javascript复制ARANGEBYSCORE key min max [WITHSCORES][LIMIT]
移除有序集合中的一个或多个成员
代码语言:javascript复制ZREM key member [member...]
移除给定字典区间的所有成员
代码语言:javascript复制ZREMRANGEBYLEX key min max
移除给定排名区间的所有成员
代码语言:javascript复制ZREMRANGEBYRANK key start stop
移除给定分数区间的所有成员
代码语言:javascript复制ZREMRANGEBYSCORE key min max
返回集合中成员的分数
代码语言:javascript复制ZSCORE key member
迭代有序集合中的元素
代码语言:javascript复制ZSCAN key cursor [MATCH pattern][COUNT count]
HyperLogLog基数统计
添加元素到HyperLogLog中
代码语言:javascript复制PFADD key element [element...]
返回给定HyperLogLog的基数估算值
代码语言:javascript复制PFCOUNT key [key...]
合并多个HyperLogLog
代码语言:javascript复制PFMERGE dstkey srckey [srckey...]
发布订阅
实例
代码语言:javascript复制#客户端1订阅频道
SUBSCRIBE redischat
#客户端2发布消息
PUBLISH redischat "hello redis"
订阅给定的频道
代码语言:javascript复制SUBSCRIBE channel [channel...]
将消息发送到指定频道
代码语言:javascript复制PUBLISH channel message
退订给定的频道
代码语言:javascript复制UNSUBSCRIBE [channel...]
Redis事务
标记一个事务块的开始
代码语言:javascript复制MULTI
执行事务块内所有命令
代码语言:javascript复制EXEC
取消事务,放弃执行事务块内所有命令
代码语言:javascript复制DISCARD
监视key,如果事务执行前key被其他命令改变,事务将被打断
代码语言:javascript复制WATCH key
取消对所有key的监视
代码语言:javascript复制UNWATCH
redis连接
切换数据库
代码语言:javascript复制SELECT index
查看redis服务器是否运行
代码语言:javascript复制PING
验证密码是否正确
代码语言:javascript复制AUTH password
打印字符串
代码语言:javascript复制ECHO message
关闭当前连接
代码语言:javascript复制QUIT
查看服务器的统计信息
代码语言:javascript复制INFO
redis服务器命令
%%%
参考
- Redis教程
- 如何阅读Redis源码?
- 历史redis源码下载
- Redis 3.0 源码注释