安装
- 官网:https://redis.io/download (使用3.2或4.0)
- 系统安装
linux:快速安装 https://redis.io/download#installation
wget http://download.redis.io/releases/redis-4.0.9.tar.gz
tar xzf redis-4.0.9.tar.gz
cd redis-4.0.9
make - 三种方式启动redis
3.1 cd src ./redis-server直接启动
3.2 修改redis.conf的daemonize属性为yes,即改为守护进程启动,然后根据这个配置文件启动,也可以指定其他配置文件 ./redis-server /usr/local/redis-5.0.5/redis.conf
3.3 使用redis启动脚本设置开机自启动,linux配置开启自启动 /etc/init.d- 配置步骤
启动脚本 redis_init_script 位于Redis的 /utils/ 目录下
mkdir /etc/redis
cp redis.conf /etc/redis/6379.conf
将启动脚本复制到/etc/init.d目录下,本例将启动脚本命名为redisd(通常都以d结尾表示是后台自启动服务)。
cp redis_init_script /etc/init.d/redisd
设置为开机自启动,直接配置开启自启动 chkconfig redisd on - 发现错误: service redisd does not support chkconfig
解决办法,在启动脚本开头添加如下注释来修改运行级别:#!/bin/sh # chkconfig: 2345 90 10
- 设置为开机自启动服务器
chkconfig redisd on service redisd start 打开服务 service redisd stop 关闭服务
- 配置步骤
学习
- String结构
set/get 设置key对应的值为String类型的value 获取key对应的值 mget 批量获取多个key的值,如果可以不存在则返回nil incr && incrby incr对key对应的值进行加加操作,并返回新的值;incrby加指定值 setnx 设置key对应的值为String类型的value,如果key已经存在则返回0 setex 设置key对应的值为String类型的value,并设定有效期 其他命令 getrange 获取key对应value的子字符串 mset 批量设置多个key的值,如果成功表示所有值都被设置,否则返回0表示没有任何值被设置 msetnx,同mset,不存在就设置,不会覆盖已有的key getset 设置key的值,并返回key旧的值 append:给指定key的value追加字符串,并返回新字符串的长度
- hash数据结构
hset——设置key对应的HashMap中的field的value //hmset——设置多个key对应的HashMap的Field的value hget——获取key对应的HashMap中的field的value hmget——获取多个key对应的HashMap中的field的value hgetall——获取key对应的HashMap中的所有field的value hlen--返回key对应的HashMap中的field的数量
- list数据结构
lpush——在key对应的list的头部添加一个元素 lrange——获取key对应的list的指定下标范围的元素,-1表示获取所有元素 lpop——从key对应的list的尾部删除一个元素,并返回该元素 rpush——在key对应的list的尾部添加一个元素 rpop——从key对应的list的尾部删除一个元素,并返回该元素
- set数据结构
sadd——在key对应的set中添加一个元素 smembers——获取key对应的set的所有元素 spop——随机返回并删除key对应的set中的一个元素 sdiff——求给定key对应的set差集 suion——求给定key对应的set并集 sinter——求给定key对应的set交集
- sortset数据结构(set是通过hashmap存储,key对应set的元素,value是空对象 sortset是怎么存储并实现排序的呢,hashmap存储,还加了一层跳跃表 跳跃表:相当于双向链表,在其基础上添加前往比当前元素大的跳转链接)
zadd ——在key对应的zset中添加一个元素 zrange——获取key对应的zset中指定范围的元素,-1表示获取所有元素 zrem——删除key对应的zset中的一个元素 zrangebyscore——返回有序集key中,指定分数范围的元素列表,排行榜中运用 zrank——返回key对应的zset中指定member的排名。其中member按score值递增(从小到大); 排名以0为底,也就是说,score值最小的成员排名为0,排行榜中运用
- 消息订阅
PUBLISH 将信息message发送到指定的频道channel。返回收到消息的客户端数量 SUBSCRIBE 订阅给指定频道的信息 UNSUBSCRIBE 取消订阅指定的频道,如果不指定,则取消订阅所有的频道。
传统关系型数据库事务与Redis事务
- InnoDB MVCC多版本并发控制功能讲解
在每一行数据中额外保存两个隐藏的列&#x