1,redis常用指令

1 -----> 表示成功
0 -----> 表示失败
flushdb ------> 清空当前数据库中所有的key
flushall ------> 清空所有数据中的key
dbsize ------> 查看当前数据库中key的数量
select index ------> 切换数据库
keys * ------> 查看所有的key (*表示所有 ? 表示一个字符)
dump key ------> 序列化给定key,并返回序列化的值
exists key ------> 检查指定的key是否存在
expire key seconds ------> 给指定key设置过期时间(秒)
expire key milliseconds ------> 给指定key设置过期时间(毫秒)
ttl key 返回-1表示永久 -2表示无效 ------> 查看给定key的剩余生存时间(秒)
pttl key ------> 查看给定key的剩余生存时间(毫秒)
persist key ------> 移除key的过期时间,key将持久化
randomkey ------> 随机返回一个key
rename key newkey ------> 指定key重新命名
move key db -------> 将当前数据库中的key移除到给定数据库中
type key ------> 返回key所存储的值的类型
setex key seconds value ------> 为指定的key 设置过期时间
mset key value key value ------> 设置多个key 和 value
mget key1 key2 key3....------> 去多个key

修复appendonly.aof -----> redis-check-aof --fix appendonly.aof
修复dump.db ---------> redis-check-aof --fix dump.db

redis中的事务 ---------> 部分支持事务 不保证原子性 事务三阶段 {
开启事务
多个命令放在队列中
有exec一起执行
}
multi -----> 开启事务
exec -----> 执行事务
discard ------> 放弃事务
watch -------> 监控事务


2,string

为不存在的key设置值 -------> setnx key value
多次设置多个不存在的key value --------> msetnx key value key value key value
获取指定key中字符串的子字符串 --------> getrange key start end
查看字符串长度 -------> strlen key
设置指定key的值,返回key的旧值 ------> getset key value 先取值后赋值
将key中存储的字自增1 ,如果没有这个key ,先初始化为0 在自增1 ------> incr key
incrby key num -------> 指定要增加多少数值
将key中存储的字自减1 ,如果没有这个key ,先初始化为0 在自减1 ------->decr key
decrby key num -------> 指定要减少多少数值
字符串拼接,不存在将其赋值 --------> append key value


3,hash

hash主要是用来存储对象数据
hset 对象名称 属性名 属性值
hget 对象名称 属性名
hmget key field [field ...] ------> 得到key对应的所有属性的值
hgetall 对象名称 -------> 得到对象里面所有属性和值
hkeys 对象名称 -----> 获取对象所有属性
hvals key -------> 获取属性值
hlen 对象名称 -------> 获取对象属性个数
hdel 对象名称 属性名 ... ------>删除
hincrby 对象名称 属性名 增加数值
hexists key -----> 判断key是否存在


4,list

往链表中存取数据 从左开始存--------> lpush key value [value ...]
往链表中存取数据 从右开始存--------> rpush key value [value ...]
取链表中的数值 --------> lrange key start stop
左出值 -------> lpop key
右出值 -------> rpop key
取指定链表的索引的值 -------> lindex key index
计算链表长度 -------> llen
删除key中N个value -------> lrem key count value
截取指定范围的值后再赋值给key ------>ltrim key start stop
从源列表中取一个值到目的列表 ------> rpoplpush source destination
链表中指定索引设置值 ----------> lset key index value
在链表前或后插入数值 ----------> linsert key before/after value1/value2


 

5,set

往set集合中添加数据 不允许重复 -------> sadd key member [member ...]
在set集合中取值 -------> smembers key
判断 member 元素是否集合 key 的成员 -------> sismember key value
获取集合里面的元素个数 --------> scard key
删除集合中元素 ---------> srem key value
随机出几个数 ---------> srandmember key count
随机出栈 -------> spop key count
将key1中的值移到key2 --------> smove key1 key2
参照第一个集合进行差集 -------> sdiff key1 key2
参照第一个集合进行交集 --------> sinter key1 key2
参照第一个集合进行并集 --------> sunion key1 key2


 

6,zset

添加数据zadd key ------> zadd zset1 60 v1 70 v2 80 v3
取数据 zrange key start stop ------> zrange zset1 0 -1
取数据和分数 zrange key start stop withscores ------>zrange zset1 0 -1 withscores
取指定分数的范围 ------------> zrangebyscore key (min----->不包含 max/(max ----> 不包含后一个 limit 开始 取几个
zrem key value -------> 删除对应的score下的值
统计数值 ---------> zcard key
统计指定范围数值值 -----> zcount key min max
获取下标值 --------> zrank key values
获取指定值 ---------> zscore key member

获取下标值 (逆序) ------> zrevrank key values
取数据 (逆序)zrange key start stop ------> zrange zset1 0 -1
取数据和分数(逆序) -------------------->zrevrangebyscore key max min

 详细指令参考:http://redisdoc.com/