启动
./redis-server # 启动服务
./redis-server --daemonize yes # 以守护进程运行
./redis-server --requirepass <pass> # 带密码启动
以配置文件方式启动
./redis-server redis.conf &
# redis.conf
daemonize yes
requirepass <pass>
登录
./redis-cli # 登录
./redis-cli -p 6379 # 登录本机端口6379
:6379> auth <pass> # 密码认证
客户端参数
code |
description |
-h |
主机 |
-p |
端口 |
-a |
密码 命令行输入不安全 |
操作
string(字符串)
code |
description |
APPEND key value |
追加 |
BITCOUNT key [start] [end] |
统计为1的位 |
BITOP [AND|OR|NOT|XOR] key [key...] |
按位操作 |
BITPOS key bit [start] [end] |
查找字符串中第一个设置为1或0的bit位 |
DECR key |
数字减1并返回 |
DECRBY key value |
数字减指定值并返回 |
GET key |
获取值 |
GETBIT key offset |
获取指定偏移量上的位(bit) |
GETRANGE key start end |
字符串截取 |
GETSET key value |
设值,并返回旧值 |
INCR key |
数字值加一 |
INCRBY key increment |
数字值加上增量 |
INCRBYFLOAT key increment |
数字值加上浮点数增量 |
MGET key [key ...] |
返回所有给定 key 的值 |
MSET key value [key value ...] |
设置多个值 |
MSETNX key value [key value ...] |
如果不存在,设置多个值 |
PSETEX key milliseconds value |
设置过期时间 (毫秒) |
SET key value |
设值 |
SETBIT key offset value |
设置指定偏移量上的位(bit) |
SETEX key seconds value |
设置过期时间 (秒) |
SETNX key value |
如果不存在,设值 |
SETRANGE key offset value |
从指定偏移量开始覆写值 |
STRLEN key |
获取长度 |
list(列表)
code |
description |
BLPOP key [key ...] timeout |
阻塞式(blocking)左侧弹出 |
BRPOP key [key ...] timeout |
阻塞式(blocking)右侧弹出 |
BRPOPLPUSH source destination timeout |
阻塞式的RPOPLPUSH |
LINDEX key index |
返回指定位置的值 |
LINSERT key BEFORE|AFTER pivot value |
插入到特定值的前/后 |
LLEN key |
列表长度 |
LPOP key |
左侧(头)弹出 |
LPUSH key value [value ...] |
值插入到列表头 |
LPUSHX key value |
列表存在时,值插入到列表头 |
LRANGE key start stop |
查询指定范围值 |
LREM key count value |
移除count个value count>0从头开始 count<0从尾开始 count=0全部 |
LSET key index value |
指定位置设置值 |
LTRIM key start stop |
只保留指定范围值 |
RPOP key |
右侧(尾)弹出 |
RPOPLPUSH source destination |
source尾部弹出,destination头部插入 |
RPUSH key value [value ...] |
值插入到列尾部 |
RPUSHX key value |
列表存在时,值插入到列尾部 |
Client/Server
code |
description |
AUTH password |
密码认证 |
ECHO message |
打印消息,用于测试 |
PING |
测试连接 |
QUIT |
关闭连接 |
SELECT index |
切换到指定的数据库 |
set(集合)
显然,set
会忽略重复元素
| code | description |
| --------------------------------------- | --------------------- |
| SADD
key member [member ...] | 添加元素 |
| SCARD
key | 获取集合大小 |
| SDIFF
key [key ...] | 获取集合差集 |
| SDIFFSTORE
destination key [key ...] | 存储集合差集 |
| SINTER
key [key ...] | 获取集合交集 |
| SINTERSTORE
destination key [key ...] | 存储集合交集 |
| SISMEMBER
key member | 检查是否存在,返回0/1 |
| SMEMBERS
key | 获取所有元素 |
| SMOVE
source destination member | 集合间移动元素 |
| SPOP
key | 弹出一个随机元素 |
| SRANDMEMBER
key | 获取一个随机元素 |
| SREM
key member [member ...] | 移除匹配的元素 |
| SSCAN
| 遍历 |
| SUNION
key [key ...] | 获取集合并集 |
| SUNIONSTORE
destination key [key ...] | 存储集合并集 |
database(数据库)
code |
description |
DEL key [key ...] |
删除指定对象 |
DUMP key |
序列化对象 |
EXISTS key |
检查是否存在 |
EXPIRE key seconds |
设值过期时间(秒) |
EXPIREAT key timestamp |
设值过期时间点(秒 timestamp) |
KEYS pattern |
获取符合模式的所有key |
MIGRATE |
redis实例间迁移数据 |
MOVE key db |
传输数据到指定数据库 |
OBJECT |
内部检查项目 |
PERSIST key |
移除过期时间,持久化对象 |
PEXPIRE key milliseconds |
设值过期时间(毫秒) |
PEXPIREAT key timestamp |
设值过期时间点(毫秒 timestamp) |
PTTL key |
获取剩余生存时间(毫秒) |
RANDOMKEY |
随机返回一个key |
RENAME key newkey |
改名 |
RENAMENX key newkey |
newkey不存在时,改名 |
RESTORE |
反序列化 |
SCAN |
遍历 |
SORT |
返回排序后的副本 |
TTL key |
获取剩余生存时间(秒) |
TYPE key |
返回值的类型 |
Script(脚本)
redis支持Lua
脚本
| code | description |
| -------------------------------------------------- | ------------------ |
| EVAL
script numkeys key [key ...] arg [arg ...] | 运行 |
| EVALSHA
sha1 numkeys key [key ...] arg [arg ...] | 运行缓存脚本 |
| SCRIPT EXISTS
script [script ...] | 检查脚本是否已缓存 |
| SCRIPT FLUSH
| 清除所有脚本缓存 |
| SCRIPT KILL
| 杀死正在运行的脚本 |
| SCRIPT LOAD
script | 缓存脚本 |
Hash(哈希表)
code |
description |
HDEL key field [field ...] |
移除指定的值 |
HEXISTS key field |
判断给定域是否存在 |
HGET key field |
获取指定域的值 |
HGETALL key |
获取所有的域和值 |
HINCRBY key field increment |
给定域加一 |
HINCRBYFLOAT key field increment |
给定域加指定值 |
HKEYS key |
获取所有域 |
HLEN key |
获取域数量 |
HMGET key field [field ...] |
获取多个域的值 |
HMSET key field value [field value ...] |
设值多个域的值 |
HSCAN |
迭代 |
HSET key field value |
设值域和值 |
HSETNX key field value |
如果域不存在,设值域和值 |
HVALS key |
获取所有域的值 |
SortedSet(有序集合)
code |
description |
ZADD key score member [[score member] ...] |
添加元素 |
ZCARD key |
获取集合数量 |
ZCOUNT key min max |
获取指定score间元素个数 |
ZINCRBY key increment member |
指定元素score加一 |
ZINTERSTORE |
存储交集 |
ZLEXCOUNT KEY MIN MAX |
获取指定字典区间的元素个数 |
ZRANGE key start stop [WITHSCORES] |
获取指定下标区间内的成员 |
ZLEXRANGE KEY MIN MAX |
获取指定字典区间的元素 |
ZRANGEBYSCORE key min max |
获取指定score间的元素 |
ZRANK key member |
返回元素排名 |
ZREM key member [member ...] |
删除元素 |
ZREMRANGEBYLEX |
删除指定字典区间的元素 |
ZREMRANGEBYRANK key start stop |
删除指定排名间的元素 |
ZREMRANGEBYSCORE key min max |
删除指定分数间的元素 |
ZREVRANGE key start stop [WITHSCORES] |
ZRANGE 逆序版本 |
ZREVRANGEBYSCORE |
ZRANGEBYSCORE 逆序版本 |
ZREVRANK key member |
ZRANK 逆序版本 |
ZSCAN |
迭代 |
ZSCORE key member |
获取score值 |
ZUNIONSTORE |
存储并集 |