Redis分布式缓存入门(重点)

x33g5p2x  于2021-11-09 转载在 Redis  
字(1.5k)|赞(0)|评价(0)|浏览(419)

1.概述

Redis是一个key-value存储系统,是一个分布式缓存数据库、非关系型数据库
C/S架构(redis-cli,redis-server)

2. 登录Redis方式

2.1 登录本地Redis

方式一:一步到位

  • 退出直接推出至宿主机

方式二:分两步走

  • 退出先退出到容器,然后再退出到宿主机

2.2 登录远端Redis

redis-cli  -h ip  -p 6379  -a  password

2.3 查看、设置、获取、清除数据

2.4 设置有效期

2.5 关闭redis

shutdown 带保护的关,将内存的数据持久化

3. Redis常用数据类型

3.1 String类型应用实践

3.1.1 incr/incrby

  • 自增1/自增指定长
  • redis存储的数据是String类型

3.1.2 decr/decrby

  • 自减1/自减指定长

3.1.3 append

  • 返回数据的长度

3.1.4 strlen

  • 文字内容个数

3.1.5 mset/mget

存(Mysql)取(Redis)数据

3.2 Hash类型应用实践

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

3.2.1 hset/hget

  • 存取数据

3.2.2 hincrby

  • 增减指定长度

3.2.3 hmset/hmget/hgetall

  • 获取所有数据(hmset不常用)

3.2.4 hexists

  • 判定字段是否存在

3.2.5 hdel

  • 删除字段

3.2.6 hkeys/hvals

  • 获取key/获取value

3.3 List类型应用实践

3.3.1 lpush

在key对应list的头部添加字符串元素

3.3.2 rpush

在key对应list的尾部添加字符串元素
del

3.3.3 lrange

读取元素并不移除

3.3.4 linsert

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

3.3.5 lset

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

3.3.6 lrem

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

3.3.7 ltrim

保留指定key 的值范围内的数据
从下标为2到最后元素留下,其他删除👇

3.3.8 rpop

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

3.3.9 llen

返回key对应list的长度:

3.3.10 lindex

返回名称为key的list中index位置的元素,只获取不移除

3.3.11 rpoplpush

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

3.3.12 brpop

阻塞 释放CPU

3.4 Set类型应用实践

3.4.1 sadd

添加元素,重复元素添加失败,返回0

3.4.1 smembers

获取内容

3.4.2 spop

移除并返回集合中的一个随机元素

3.4.5 scard

获取成员个数

3.4.6 smove

移动一个元素到另外一个集合

3.4.7 sunion

并集

3.5.8 srem

移除元素

redis读写数据就一个线程,线程安全
增删改查
可练习博客点赞/投票系统

Redis服务的线程模型

  • 6.0之前都是单线程 向数据库中读写数据
  • 6.0之后引入多线程 从网络中获取数据(IO方面), 向数据库中读写数据仍为单线程

问题

  • 为什么要使用Redis??解决分布式系统下数据缓存的问题
  • 如何理解Redis数据库的大小哈希(hash)操作(全局、局部)
  • Redis中常用的数据类型??string、list、set、hash

相关文章