redis

本文档详细介绍了Redis的安装过程,包括从官网下载源码、解压和运行安装命令。接着,讨论了Redis的持久化机制,重点讲解了rdb方式的持久化。此外,还涵盖了Redis的基础命令,如字符串、哈希值、列表、集合和有序集合的操作。这是一个适合初学者的Redis教程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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 失败返回0msetnx 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 valueappend key value
将key键对应的value值 从第offset位开始替换,若key键不存在则offset位之前的部分用/x00表示setrange key offset value
将key键对应的值从start位开始取到end位 支持负数定位,不支持从右往左取值,若end值大于实际字符串长度,超出的部分自动忽略getrange key start end
对key键对应的value值进行+1操作,若不存在则自动视value值为0incr key
对key键对应的value值进行+n操作,若不存在则自动视value值为0incrby key n
对key键对应的value值进行+n(n为小数)操作,若不存在则自动视value值为0incrbyfloat key n
对key键对应的value值进行-1操作,若不存在则自动视value值为0decr key
对key键对应的value值进行-n操作,若不存在则自动视value值为0decrby 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从左往右第一个数值,并返回删除后的第一个数值,若数值不存在则返回nillpop key
删除列表key从右往左第一个数值,并返回删除后的第一个数值,若数值不存在则返回nilrpop 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,否返回0sinmember 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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值