wget http://download.redis.io/releases/redis-5.0.3.tar.gz
tar xzf redis-5.0.3.tar.gz
# 进入到解压目录
cd redis-5.0.3
# 进入到解压好的redis-5.0.3目录下,进行编译与安装
make
# 修改 redis.conf 里的 daemonize 为 yes;(使用 ?daemon 搜索)
vi redis.conf
# 启动并指定配置文件
src/redis-server redis.conf
# 验证启动是否成功
ps -ef | grep redis
# 进入redis客户端
src/redis-cli
# 退出客户端
quit
退出redis服务:
(1)pkill redis-server
(2)kill 进程号
(3)src/redis-cli shutdown
常用操作
原子加减
单值缓存
SET key value
GET key
对象缓存
(1) SET user:1 value(json格式数据)
(2) 需要存储记录: id=1,name=zhangsan,balance=1888,使用批量存储的方式,如下:
批量存入:MSET user:1:name zhangsan user:1:balance 1888
批量获取:MGET user:1:name user:1:balance
分布式锁
SETNX 作用:若key不存在,则执行成功返回1;若key存在,则执行失败返回0;
SETNX product:10001 true //返回1代表获取锁成功
SETNX product:10001 true //返回0代表获取锁失败
... 执行业务操作 ...
DEL product:10001 //执行完业务释放锁
SET product:10001 true ex 10 nx //防止程序意外终止导致死锁设置超时时间
计数器
INCR article:readcount:{文章id}
GET article:readcount:{文章id}
Web集群session共享
spring session + redis实现session共享
分布式系统全局序列号
INCRBY orderId 1000 //redis批量生成序列号并放入到应用的内存中提升性能
Hash常用操作
HSET key field value //存储一个哈希表key的键值
HSETNX key field value //存储一个不存在的哈希表key的键值
HMSET key field value [field value ...] //在一个哈希表key中存储多个键值对
HGET key field //获取哈希表key对应的field键值
HMGET key field [field ...] //批量获取哈希表key中多个field键值
HDEL key field [field ...] //删除哈希表key中的field键值
HLEN key //返回哈希表key中field的数量
HGETALL key //返回哈希表key中所有的键值
HINCRBY key field increment //为哈希表key中field键的值加上增量increment
原文:https://www.cnblogs.com/yufeng218/p/13363470.html