redis-benchmark #redis的性能测试工具
redis-check-aof #数据修复,当事务提交,写了一半的数据进去,需要修复,删除
redis-check-dump #检查导出json
redis-cli #redis命令行操作工具 redis-cli.ext -a pwd -p port
redis-server #redis服务器的启动程序
set k v
setnx k v //不存在 not exists
setex k 10 v //设置有效期
mset k1 v1 k2 v2 //多个键值设置
msetnx k1 v1 k2 v2 //不存在设置
getset k1 v_new //获取旧值,返回新值
mget k1 k2 //获取多个值
exists k1 //判断是否有值
del k1 //删除元素
incr k1 //++操作
decr k1 //--操作
append k v //增加操作
hash:
hset user name zyl sex man //对象的多个字段
hsetnx user name zyl //不存在设置
hmset user name zyl1 sex man
hexists user k1 //判断是否有值
hlen user //字段个数
hdel user name //删除字段
hkeys user //所有的字段
hvals user //所有的值
hgetall user //所有的键值
list:
lpush list1 v1 //从头部v1 加入list
rpush list1 v1 //从尾部v1 加入list
lsett list1 0 v1 //设置list中值的下标
lrem list1 count value //count>0 从表头开始 删除 value,count<0 从表头删除value,=0删除所有value
lrange list1 min max //这个区间的值 -1表示无限
ltrim list1 min max //保留这个区间的值
lpop list1 //头部删除
rpop list1 //从尾部删除
llen list1 //长度
sort list1 //返回排序后的结果 [LIMIT offset count] [ASC | DESC]
set: hashtable实现,
sadd set1 v//增加
smembers set1 //查看所有元素
srem set1 v//删除队列中的值
spop set1 //随机返回并删除名称中的value
sdiff set1 set2 //和set1 的差集
sdiffstore tmpset set2 set1 //和set2的差集放到tmpset
sinter set1 set2 set3//返回交集
sinterstore tmpset set1 set2//返回交集存放到tmpset
sunion set1 set2//并集
sunion tmpset set1 set2//并集放到tmpset
smove set1 set2 v1 //把v1从set1 移出来放到set2
scard set1 //个数
sismember set1 v1 //判断v1是否存在set1中
srandmember set1//随机返回 一个值
sorted sort:组合方式
zadd sset1 0 a //添加数据
zrange sset1 0 -1 withscores //打印所有数据,按score排序
zrangebyscore sset1 0 -1 withscores //打印所有score区间的数据,按score排序
zrevrange sset1 0 -1 withscores //打印所有数据,按score倒序排序
zrem sset1 v1 //删除值
zincrby sset1 2 v1//不存就放到,存在就加score score,可排序
zcount sset1 2 3 //返回区间个数
zcard sset1 //返回个数
zscore sset1 v //返回指定值的score
zremrangebyrank sset1 3 3//删除指定区间的数据
zremrangebyscore sset1 3 3 //删除区间
所有:
keys * //返回所有符合情况的值
exists k1 //是否存在key值
del k1 //删除key
expire k1 time //设置 有效期单位:秒
ttl k1 //有效期,单位:秒
select num //选择数据库
move k1 num//移动k1到num数据库
randomkey //随机 返回一个key
rename k1 k2//把k1改为k2
type k1 //返回类型 string list,set,zset
ping //是否正常
echo //输出数据
select num //选择数据库 0 ~ 15
dbsize //当前数据库的key个数
info //返回版本信息
monitor //监控收到的请求
config get *//所有的配置
config set requirepass #pass123#
config set masterauth #pass123#
auth pass //在线切换密码
flushdb //删除本数据库的所有key
flushall //删除所有数据库的所有key
shutdown //关闭
bgrewriteaof //重写日志
//事务
multi //开启事务
exec //提交事务
discard//回滚事务
//设置主从复制
slaveof 127.0.0.1 6397 //在线设置主从
slaveof no one //关闭slave
//集群
cluster meet ip port //通知互为集群
//持久化
RDB 快照,Snapshotting 现在有了子进程和父进程
AOF 追加,
BGREWRITEAOF:快照+AOF方式
实际使用内容:
1: 缓存结果只使用 k v形式,缓存对象使用客户端序列化后。
2: list,可以作为消息通讯
一致性解决:
断电后,长时间不可用,数据不一致。当出现这个问题时,你的redis断电,db也shutdown,根据性能业务,暂时解决,设置有效性时间。
后期解决:
高可用,集群,不间断扩容
扩展学习网址:
http://blog.nosqlfan.com/html/2692.html