redis

redis安装:

从网站下载源码安装包

wget https://download.redis.io/releases/redis-5.0.8.tar.gz

解压:

tar -zxvf redis-5.0.8.tar.gz

解压后进入文件夹:redis-5.0.8 运行安装命令:

sudo make && sudo make install

安装完成后需要进入redis.conf更改配置项:

daemonize 改为yes

复制配置文件redis.conf到记得住的放置配置文件的位置

(/usr/local/etc)

启动redis,同时附带配置文件:

redis-server /usr/local/etc/redis.conf

redis的文档网站:

reisdoc.com

redis持久化

rdb方式:默认的持久化方式,直接将镜像内存里的数据保存在dump.rdb文件里

进入redis.conf更改配置项dir:
dir ./ 改为 /var/local/redis (若没有redis文件则需要手动创建)

若持久化失败可能是因为文件保存目录当前用户没有写入权限,需要手动修改数据文件保存目录文件夹权限:
chmod 775 dirname

redis命令

字符串

存入数据: set key value
读取数据: get key
若数据key不存在 则存入数据,存在则无操作 setnx key value
同时存入多个值 mset kay1 value1 key2 value2 …
同时获取多个值 mget key1 key2 key3
同时存入多个值 并且所有的key值都必须不存在才可以执行成功,任意一个key值存在则执行失败 执行成功返回1 失败返回0 msetnx kay1 value1 key2 value2 …
存入时限数据,单位:秒 set key value ex n
存入时限数据,单位:豪秒 set key value px n
存入时限数据,单位:豪秒 psetex key n value
查看数据的过期时间: ttl key
将键 key 的值设为 value , 并返回键 key 在被设置之前的旧值 getset key value
返回键 key 储存的字符串值的长度 strlen key
在原有的key键对应的值末尾增加value,若key键不存在则等同于set key value append key value
将key键对应的value值 从第offset位开始替换,若key键不存在则offset位之前的部分用/x00表示 setrange key offset value
将key键对应的值从start位开始取到end位 支持负数定位,不支持从右往左取值,若end值大于实际字符串长度,超出的部分自动忽略 getrange key start end
对key键对应的value值进行+1操作,若不存在则自动视value值为0 incr key
对key键对应的value值进行+n操作,若不存在则自动视value值为0 incrby key n
对key键对应的value值进行+n(n为小数)操作,若不存在则自动视value值为0 incrbyfloat key n
对key键对应的value值进行-1操作,若不存在则自动视value值为0 decr key
对key键对应的value值进行-n操作,若不存在则自动视value值为0 decrby key n

哈希值

创建key值 有field域 对应value值 hset key field value
key不存在则 创建key值,若已存在则覆盖原属性 hsetnx key field value
获取key的field域的值 hget key field
判断key是否有field域 hexists key field
删除key的field域 hdel key fields
获取key有多少field域 hlen key
获取key的field域的值的长度 hstrlen key field
对key值里field域的值和increment值进行数学运算 hincrby key field increment
对key值里field域的值和increment值进行数学运算,increment可以为小数 hincrbyfloat key field increment
同时对key设置多个field-value(域-值) hmset key field value …
同时获取key里多个field域对应的值 hmget key field …
返回key里所有的域 hkeys key
返回key里所有域对应的值 hvalues key
返回key里所有域和对应的值 hgetall key

列表值:

向key列表最左边传入value值,value值允许重复,可以传入多个值 lpush key value[s]
当key列表存在且为list对象时 执行lpush存入数值操作,否则不做任何动作 lpushx key value[s]
向key列表最右边传入value值,value值允许重复,可以传入多个值 rpush key value[s]
当key列表存在且为list对象时 执行rpush存入数值操作,否则不做任何动作 rpushx key value[s]
删除列表key从左往右第一个数值,并返回删除后的第一个数值,若数值不存在则返回nil lpop key
删除列表key从右往左第一个数值,并返回删除后的第一个数值,若数值不存在则返回nil rpop key
删除列表key1里从右往左第一个value数值,然后将删除的value数值添加在key2列表的最左侧,返回值为被删除的value值,如果key1和key2是同一张表则将key表最右侧的value值放置在最左侧 rpoplpush key1 key2
从key列表中删除count数量的value值:count<0时:从表最右侧开始搜索删除,删除数量为count的绝对值,count>0时:从表最左侧开始搜索删除,count=0时:删除表中能找到的全部 lrem key count value
获取key列表值的长度,不存在则返回0,数据类型不是列表则报错 llen key
获取key列表下标为index的value值,不存在则返回nil,数据类型不是列表则报错 lindex key index
在key列表的pivot值 之前/之后插入一个value值,若pivot不存在则不进行任何操作,返回-1;若key不存在则不进行任何操作,返回0;数据类型不是列表则报错 linsert key before/after pivot value
将key列表中下标为index 的数值替换为value,key为空或下标超出范围则报错 lset key index value
获取列表中下标为start到stop中间的所有值,若start超出范围返回空值 lrange key start stop
将列表中除了下表为start到stop以外的所有值删除,若start或stop的值超出范围则清空列表,返回空值 ltrim key strat stop
从列表key中删除从左往右第一个数值 timeout为操作等待的时长(秒),若数据存在执行成功则返回被删除的数据,若超出等待时间且无数据删除则返回等待时长,timeout设置为0则表示持续等待 blpop key [keys] timeout
从列表key中删除从右往左第一个数值 timeout为操作等待的时长(秒),若数据存在执行成功则返回被删除的数据,若超出等待时间且无数据删除则返回等待时长,timeout设置为0则表示持续等待 brpop key [keys] timeout
删除列表key1里从右往左第一个value数值,然后将删除的value数值添加在key2列表的最左侧,返回值为被删除的value值,如果key1和key2是同一张表则将key表最右侧的value值放置在最左侧 若key1列表不存在则等待timeout时长,超时后执行成果则返回删除值和等待时间,执行失败则返回nil和等待时间 brpoplpush key1 key2 timeout

集合

在key集合中添加member数据 可以添加多个 sadd key member [member…]
判断key集合中是否存在member数据,是返回1,否返回0 sinmember key member
从key集合中随机取 coun数量的值 srandmember key count
返回key集合中所有的member值 smembers key
取出key1集合中存在,同时key2集合中不存在的member值 sdiff key1 key2
将key1集合和key2集合中的member值一起取出来,同时去除重复项 sunion key1 key2
返回同时在key1和key2中存在的member值 sinter key1 key2

有序集合

在key有序集合中添加member和score值 若member已存在则更新score值 zadd key score member [score member…]
取出key有序集合中下标在start和stop中间的所有member值 zrange key start stop
返回member在key有序集合中的下标 zrank key member
倒序取出key有序集合中下标在start和stop中间的所有member值,若在结尾加上withscores则会和score值一起返回 zrevrange key 0 -1 (withscores)
将key有序集合中member对应的score值与increment进行数学运算 zincrby key increment member

你可能感兴趣的:(redis)