redis摘记

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

你可能感兴趣的:(redis)