set key value
get key
(1)set user:1 value(json格式)
(2)mset user:1:name junfeng user:1:age 18
mget user:1:name user:1:age
分布式锁解决了资源竞争,导致并发冲突和数据不一致的问题。
setnx order:10000 true //返回1代表获取锁成功
setnx order:10000 true //返回0代表获取锁失败
。。。执行业务逻辑
del order:10000 //释放锁
set order:10000 true ex 10 nx //防止程序意外终止导致死锁
incr article:readcount:{文章id}
get article:readcount:{文章id}
incrby orderid 1000 //redis批量生产序列号提升性能
hset key field value //存储hash表key的键值
hsetnx key field value //存储不存在的hash表key的键值
hmset key field value[field value…] //存储多个键值对
hget key field //获取单个键值
hmget key field[field…]
hdel key //删除
hlen key//获取数量
hgetall key //获取所有键值
hincrby key field increment //为hash表key中field增加increment
lpush key value
rpush key value
lpop key
rpop key
lrange key start stop //从左边开始拿数据
blpop key timeout
brpop key timeout
stack(栈) = lpush+lpop先进后出
queue(队列)= lpush+rpop 先进先出
blocking MQ = lpush+brpop
sadd key userid
srem key userid
smembers key
srandmember key count
spop key count
sinter set1 set2 //交集
sunion set1 set2 //合集
sdiff set1 set2 //差集
zadd key score member
zrem key member
zscore key member
zincrby key increment member
zcard key
zrange key start stop
zrevrange key start stop //倒序获取有序集合start到stop
zunionstore destkey numkeys key //并集
zinterstore destkey numkeys key //交集
配置文件:maxclient
scan :渐进式遍历键查找
scan 0 match key* count 10
查找可能不精确,存在新增rehash情况。
save:同步阻塞
bgsave:异步非阻塞,会开启子线程,用到了写时复制技术。
多条命令,一次性批量发到redis中去,让redis执行。节省了网络传输开销。(不具备事务和原则性)
jedis中使用Pipeline对象实现,如下图:
查看redis服务运行信息