###Redis可执行文件说明
-
redis-server redis服务器
-
redis-cli Redis命令行客户端 redis-cli -h 10.10.10.10 -p 6384 连接ip为x上的redis
-
redis-benchmark 性能测试工具
-
redis-check-aof AOF文件修复工具
-
redis-check-dump RDB文件检查工具
-
redis-sentinel 高可用 ###启动方法
-
最简启动 redis-server
-
带参数启动 redis-server --port xxxx
-
配置文件启动(首选) redis-server configpath ###常用配置
-
daemonize 是否守护进程,默认no建议 yes
-
port 默认6379
-
logfile
-
dir
###常用命令 -
keys * 计算所有的键
-
dbsize 计算数据库大小
-
exists key
-
del key [key]
-
expire key seconds 设置key过期时间 ttl key 查看剩余过期时间 persist key 去掉key过期时间
-
type key 字符串命令
-
incr key 自增1,如果key不存在,自增后get(key)=1
-
decr key 自减
-
incrby key k 将key的值自增k,如果key不存在,自增后get(key)= k
-
set key value 不管key是否存在,都设置
-
setnx key value 当key不存在,才设置
-
set key value xx 当key存在,才设置
-
mget key1 key2 key3 ... 批量获取key,原子操作
-
mset key1 key2 key3 批量设置key-value
-
getset key newvalue 设置新值并返回旧value
-
append key value 将value追加到旧的value
-
strlen key 返回字符串的长度(注意中文)
-
incrbyfloat key 3.5 增加key对应的值3.5
-
getrange key start end 获取字符串指定下表所有的值
-
setrange key index value 设置指定下表所有对应的值 哈希命令
-
hget key field 获取hashkey 对应的field 的value
-
hset key field value 设置hashkey 对应field 的value hset user:1:info name fantj (给user的第一个对象的info属性赋值 fantj)
-
hdel key field 删除hash key对应field的value
-
jhexists key field 判断hashkey是否有field
-
hlen key 获取hash key field 的数量
-
hmget key field1 field2 批量获取hash key的一批field对应的值
-
hmset key field1 value1 field2 value2 批量设置hash key 的一批field value
-
hgetall key 返回hashkey 对应所有的field和value
-
hvals key 返回hash key对应所有field的value
-
hkeys key 返回hash key对应所有field
list
-
rpush key value1 value2 ...valueN 从列表右端插入值
-
lpush key value1 value2 ...valueN 从列表左端插入值
-
insert key before|after value newValue 在list指定的值前|值后插入newValue
-
lpop key 从列表左侧弹出一个元素
-
rpop key 从右侧弹出一个元素
-
lrem key count value 根据count值,从列表中删除所有value相等的项;count>0 ,从左到右,删除最多couunt个value相等的项。count=0,删除所有value相等的项
-
itrim key start end 按照索引范围修剪(裁剪)列表 itrim key 1 4 只保留第1-4位的元素,删除别的元素
-
irange key start end 获取列表指定索引范围所有元素
-
index key index 获取列表指定索引的某个元素
-
llen key 获取列表长度
-
lset key index'newValue 设置列表指定所引值为newValue lset listkey 2 java ,把第二个元素的值改为java
-
blpop key timeout 阻塞lpop,timeout为阻塞超时时间,=0为永远不阻塞
-
brpop key timeout 阻塞rpop,timeout为阻塞超时时间,=0为永远不阻塞
集合
-
sadd key element 向集合key添加element(如果element已经存在,添加失败)
-
srem key element 将集合key中的element移除
-
scard 计算集合中的元素
-
sismember 看元素是否在集合
-
srandmember 从集合随机取一个元素
-
smembers 从集合中取出所有元素(无序,小心使用)
-
spop 从集合中随机弹出一个元素
-
sadd user:1:tags tag1 tag2 tag... 给用户添加标签
-
sadd tag1:users user:1 user:3 给标签添加用户
-
sdiff user:1:follow user:2:follow = xxx # 差集
-
sinter user:1:follow user:2:follow = xx #交集
-
sunion user:1:follow user:2:follow = xxx #并集
-
sdiff|sinter|sunion + store destkey .. #将差集。交集、并集结果保存在destkey中