Redis

匆匆过客 提交于 2020-02-28 10:16:06

安装流程 

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

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!