Redis分布式缓存入门

本文详细介绍了Redis的初始操作,包括启动、停止服务,以及使用Docker部署。接着深入讲解了Redis的四种主要数据类型:String、Hash、List和Set,包括它们的基本操作如赋值、取值、增加、删除等,并给出了具体示例。此外,还涵盖了设置键的有效时长、查看Redis信息等实用功能。
摘要由CSDN通过智能技术生成

目录

Redis缓存入门

Redis初始操作

Redis常用数据类型

String类型

Hash类型

List类型

Set类型


Redis缓存入门

Redis初始操作

启动redis服务

Docker 环境下的启动(docker环境启动多个需要运行多个容器):

docker start redis01 #底层也是通过redis-server启动,start单词后的redis01为容器名

docker 中查看redis 服务:docker ps

查看启动的redis进程信息

ps -ef|grep redis
root      3511     1  0 16:29 ?   00:00:01 redis-server *:6379
root      3515     1  0 16:29 ?   00:00:01 redis-server 127.0.0.1:6380

进入redis容器:docker exec -it redis01 bash #redis01 为容器名

登陆本地redis:

redis-cli
或者
redis-cli -p 6379
或者
redis-cli -p 6379 -a  password #-a后面为password,此操作需要开启redis.conf文件中的 requirepass选项

登陆远程redis:redis-cli  -h ip  -p 6379  -a  password

查看redis信息:登陆redis,然后输入info指令

关闭redis服务:shutdown

基于查看redis中的key:keys *

基于key/value形式存储数据:set a 100

基于key获取redis中存储的数据:get a

清除当前数据库数据:flushdb

清除所有数据库数据:flushall

Key有效时长设置:EXPIRE key seconds(单位秒)    例如:expire a 10

取消有效时长设置:PERSIST key    例如:persist a

重新设置有效时长:PEXPIRE key milliseconds(单位毫秒)   例如:pexpire a 10000

Redis常用数据类型

String类型

字符串类型是redis中最简单的数据类型,它存储的值可以是字符串,其最大字符串长度支持到512M。

赋值/取值:set/get

当存储的字符串是整数时,让当前键值递增:incr        例如:incr a

                                           指定增长系数:incrby        例如:incrby a 2

                                           让当前键值递减:decr        

                                           指定递减系数:decrby

向尾部追加值:append        例如:append key 添加内容

获取字符串长度:strlen        例如:strlen key

同时设置/获取多个键值:mset/mget        例如:mset x 100 y 100        mget x y

Hash类型

Redis散列类型相当于Java中的HashMap,实现原理跟HashMap一致,一般用于存储对象信息,存储了字段(field)和字段值的映射,一个散列类型可以包含最多232-1个字段。

赋值/取值:hset/hget        例如:hset key filed 值        hget key field

获取对象的全部属性和值:hgetall        例如:hgetall key

hset命令不区分插入和更新操作,当执行插入操作时HSET命令返回1,当执行更新操作时返回0。

让当前键值指定增长:hincrby        例如:hincrby key field 2

设置/获取对象的多个属性:hmset/hmget        例如:hmget key field field...

判断属性是否存在:hexists        例如:hexists key field

删除属性:hdel        例如:hdel key field

获取所有的key/value:hkeys/hvals        例如:hkeys key        hvals key

List类型

Redis的list类型相当于java中的LinkedList,其原理就就是一个双向链表。支持正向、反向查找和遍历等操作,插入删除速度比较快。经常用于实现热销榜,最新评论等的设计。

在key对应list的头部添加字符串元素:lpush        例如:lpush key 元素1 元素2 ...

查询指定区间内的元素:lrange        例如:lrange key 0 -1

        Redis Lrange 返回列表中指定区间内的元素,区间以偏移量 START 和 END 指定。 其中 0 表示列表的第一个元素, 1 表示列表的第二个元素,以此类推。 你也可以使用负数下标,以 -1 表示列表的最后一个元素, -2 表示列表的倒数第二个元素,以此类推

在key对应list的尾部添加字符串元素:rpush        例如:rpush key 元素1 元素2 ...

清空集合元素:del        例如:del key

在key对应list的特定位置之前或之后添加字符串元素:linsert

        例如:linsert key before 元素 插入的元素

设置list中指定下标的元素值(一般用于修改操作):lset

        例如:lset key 下标 新元素

从key对应list中删除count个和value相同的元素,count>0时,按从头到尾的顺序删除:lrem

        例如:lrem key 数量 元素

保留指定key 的值范围内的数据:ltrim

        例如:ltrim key 开始下标 结束下标

从list的头部删除元素,并返回删除元素:lpop

        例如:lpop key 数量

从list的尾部删除元素,并返回删除元素(非阻塞式):rpop

        例如:rpop key 数量

从list的尾部删除元素,并返回删除元素(阻塞式):brpop

        例如:brpop key 时长(秒)        当list中没有元素时,会等待设置的时长

返回key对应list的长度:llen        例如:llen key

返回名称为key的list中index位置的元素:lindex        例如:lindex key 下标

从第一个list的尾部移除元素并添加到第二个list的头部,最后返回被移除的元素值,整个操作是原子的.如果第一个list是空或者不存在返回nil:

        例如:rpoplpush key key

Set类型

Redis的Set类似Java中的HashSet,是string类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。Redis中Set集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。

添加元素,重复元素添加失败,返回0:sadd        例如:sadd key 元素1 元素2 ...

获取集合中成员:smembers        例如:smembers key

移除并返回集合中的一个随机元素:spop        例如:spop key 数量

获取集合中的成员个数:scard        例如:scard key

移动一个元素到另外一个集合:smove        例如:smove key1 key2 元素

实现集合的并集操作:sunion        例如:sunion key1 key2

移除元素:srem        例如:srem key 元素

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值