安装流程
1.下载Redis
wget http://download.redis.io/releases/redis-5.0.7.tar.gz
2.解压
tar -zxvf redis-5.0.7.tar.gz
3.进入目录后编译
cd redis-5.0.7
make MALLOC=libc
4.安装
#指定安装目录为/usr/local/redis
make PREFIX=/usr/local/redis install
5.复制配置文件到安装目录
cp /usr/local/redis-5.0.7/redis.conf /usr/local/redis
6.启动
/usr/local/redis/bin/redis-server ./redis.conf
7.正常关闭redis
#若没配置密码则redis-cli shutdown即可
redis-cli shutdown -h 127.0.0.1 -p 6379 -a 密码
配置说明
- daemonize : 默认为no,修改为yes启用守护线程
- port :设定端口号,默认为6379
- bind :绑定IP地址
- databases :数据库数量,默认16
- save <second> <changes> :指定多少时间、有多少次更新操作,就将数据同步到数据文件
- #redis默认配置有三个条件,满足一个即进行持久化
- save 900 1 #900s有1个更改
- save 300 10 #300s有10个更改
- save 60 10000 #60s有10000更改
- dbfilename :指定本地数据库的文件名,默认为dump.rdb
- dir :指定本地数据库的存放目录,默认为./当前文件夹
- requirepass :设置密码,默认关闭
公用命令
- DEL key
- DUMP key:序列化给定key,返回被序列化的值
- EXISTS key:检查key是否存在
- EXPIRE key second:为key设定过期时间
- TTL key:返回key剩余时间
- PERSIST key:移除key的过期时间,key将持久保存
- KEY pattern:查询所有符号给定模式的key
- RANDOM key:随机返回一个key
- RANAME key newkey:修改key的名称
- MOVE key db:移动key至指定数据库中
- TYPE key:返回key所储存的值的类型
select db 切换数据库
move key db 移动数据到某个数据库
flushdb 清空当前数据库
flushall 清空所有数据库
String
- set key value:命令不区分大小写,但是key_name区分大小写
- setnx key value:当key不存在时设置key的值,存在不会覆盖。(SET if Not eXists)
- get key : 获取数据
- getrange key start end:获取key中字符串的子字符串,从start开始,end结束
- mget key1 key2...:获取多个key的值
- getset ket valye:设定key的值,并返回key的旧值。当key不存在,返回nil
- setlen key:返回key所存储的字符串的长度
- append key value:字符串拼接,追加至末尾,如果不存在,为其赋值
- ################ 以下命令具有原子性,不存在并发问题###############
- incr key :INCR命令key中存储的值+1,如果不存在key,则key中的值话先被初始化为0再加1
- incrby key {num}:key中存储的值+num
- decr key:自减,其他上面两个一样
- decrby key {num}:自减,其他上面两个一样
Hash
- hset key_name field value:为指定的key设定field和value
- hmset key field value[field1,value1] 批量设定
- hget key field 获取
- hmget key field[field1] 批量获取
- hgetall key:返回hash表中所有字段和值
- hkeys key:获取hash表所有字段
- hlen key:获取hash表中的字段数量
- -hdel key field [field1]:删除一个或多个hash表的字段
List
lpush key value1 [value2]
rpush key value1 [value2]
lpushx key value:从左侧插入值,如果list不存在,则不操作
rpushx key value:从右侧插入值,如果list不存在,则不操作
llen key:获取列表长度
lindex key index:获取指定索引的元素
lrange key start stop:获取列表指定范围的元素
lpop key :从左侧移除第一个元素
prop key:移除列表最后一个元素
blpop key [key1] timeout:移除并获取列表第一个元素,如果列表没有元素会阻塞列表到等待超时或发现可弹出元素为止
brpop key [key1] timeout:移除并获取列表最后一个元素,如果列表没有元素会阻塞列表到等待超时或发现可弹出元素为止
ltrim key start stop :对列表进行修改,让列表只保留指定区间的元素,不在指定区间的元素就会被删除
lset key index value :指定索引的值
linsert key before|after world value:在列表元素前或则后插入元素
Set
无序、不重复
sadd key value1[value2]:向集合添加成员
scard key:返回集合成员数
smembers key:返回集合中所有成员
sismember key member:判断memeber元素是否是集合key成员的成员
srandmember key [count]:返回集合中一个或多个随机数
srem key member1 [member2]:移除集合中一个或多个成员
spop key:移除并返回集合中的一个随机元素
smove source destination member:将member元素从source集合移动到destination集合sdiff key1 [key2]:返回key1的差集
sdiffstore destination key1[key2]:返回给定所有集合的差集并存储在destination中sinter key1 [key2]:返回所两集合的交集
sinterstore destination key1[key2]:返回给定所有集合的交集并存储在destination中sunion key1 [key2]:返回所两集合的并集
sunionstore destination key1[key2]:返回给定所有集合的并集并存储在destination中
ZSet
有序且不重复。每个元素都会关联一个double类型的分数,Redis通过分数进行从小到大的排序。分数可以重复
ZADD key score1 memeber1
ZCARD key :获取集合中的元素数量
ZCOUNT key min max 计算在有序集合中指定区间分数的成员数
ZCOUNT key min max 计算在有序集合中指定区间分数的成员数
ZRANK key member:返回有序集合指定成员的索引
ZREVRANGE key start stop :返回有序集中指定区间内的成员,通过索引,分数从高到底
ZREM key member [member …] 移除有序集合中的一个或多个成员
ZREMRANGEBYRANK key start stop 移除有序集合中给定的排名区间的所有成员(第一名是0)(低到高排序)
ZREMRANGEBYSCORE key min max 移除有序集合中给定的分数区间的所有成员
https://www.cnblogs.com/wanghaokun/p/10366689.html
https://blog.csdn.net/qq_33423418/article/details/101351944
https://note.youdao.com/ynoteshare1/index.html?id=bfcc478547c920926146675e678e4a1f&type=note
来源:oschina
链接:https://my.oschina.net/yejunxi/blog/3174003