首页 > 数据库 >day49 redis安装、Another-Redis-Desktop-Manager & redis数据类型 &集成redis(jedis)

day49 redis安装、Another-Redis-Desktop-Manager & redis数据类型 &集成redis(jedis)

时间:2022-12-09 16:22:44浏览次数:57  
标签:day49 redis 元素 数据类型 value 列表 key 集合

关系型数据库

MySQL、SQL Server、Oracle、postgre SQL(pg)

数据存储位置:硬盘
数据存储结构:行和列
优点:可以实现更复杂的业务逻辑(事务、存储过程、索引)、持久化
保存哪种类型的数据:所有

非关系型数据库(NoSQL)

redis、mongoDB

数据存储位置:内存
数据存储结构:键值对
优点:读写速度快
保存哪种类型的数据:1.查询频繁 且 数据一致性要求低
2.缓存的对象信息

使用redis

1.双击redis-server.exe,将出现的窗口最小化
image
2.测试连接:win+r=》cmd
进入保存redis的目录下
image
3.下载Another-Redis-Desktop-Manager使用redis

redis常用命令

SELECT index 选择指定下标的数据库,redis默认数据库从DB0-DB15
DBSIZE 当前库中key的个数
KEYS * 查看所有key的列表
EXPIRE key seconds 设置key的过期时间,单位秒
DEL key 删除key
EXISTS key 检查指定key是否存在
TYPE key 返回key的存储类型
RENAME key newkey 重命名key
RENAMENX key newkey 仅当 newkey 不存在时,将 key 改名为 newkey
FLUSHDB 清空当前数据库
FLUSHALL 清空所有数据库

redis数据类型

1 String字符串

SET key value 赋值,设置key的值
SETNX key value 只有在key不存在时,设置 key 的值(可用来做分布式锁)
SETEX key seconds value 设置kv键值对,并设置失效时间 (以秒为单位)
APPEND key value 如果 key 已经存在并且是一个字符串, APPEND 命令将指定的 value 追加到该 key 原来值(value)的末尾
GET key 取值,获取key的值

2 Hash哈希表

Redis的hash 是一个 string 类型的 field(字段) 和 value 的映射表,
hash 特别适合用于存储对象,类似于java里面的Map<String, Object>

HSET key field value 将哈希表key中的字段field的值设为value
HMSET key field1 v1 field2 v2 给哈希表key中添加多个字段(field-value)
HSETNX key field value 只有在字段 field不存在时,设置哈希表字段的值
HKEYS key 获取哈希表中的所有字段
HVALS key 获取哈希表中的所有值
HMGET key field1 field2 获取所有指定字段的值
HLEN key 获取哈希表中字段的数量
HEXISTS key field 查看哈希表 key 中,指定的字段是否存在
HDEL key field1 field2 删除一个或多个哈希表字段

3 List列表

Redis列表是简单的字符串列表,按照插入顺序排序。
你可以添加一个元素到列表的头部(左边)或者尾部(右边)。
他的底层实现是个链表,链表可以两端双向插入。
一个列表最多可以包含 232-1 个元素(42,9496,7295)

LINDEX key index 通过索引获取列表中的元素
LLEN key 获取列表长度
LPUSH key value1 value2 将一个或多个值插入到列表头部,如果列表不存在则创建
LPUSHX key value 将一个值插入到已存在的列表头部
LRANGE key start stop 获取列表指定范围内的元素,包括开始位置和结束位置的元素
LREM key count value 移除列表元素,count移除元素的个数,从列表头开始
LSET key index value 通过索引设置列表元素的值,如果列表不存在则报错
LTRIM key start stop 对一个列表进行修剪(trim),就是说,让列表只保留指定区间内的元素,不在指定区间之内的元素都将被删除。
RPOP key 移除列表的最后一个元素,返回值为移除的元素。
RPUSH key value1 value2 在列表中添加一个或多个值
RPUSHX key value 为已存在的列表添加值

4 Set集合

Redis 的 Set 是 String 类型的无序集合,集合成员是唯一的,Set集合中的元素无序不可重复。

SADD key v1 [v2] 向集合添加一个或多个字符串,如果集合不存在则创建集合
SCARD key 获取集合的成员数
SISMEMBER key member 判断 member 元素是否是集合 key 的成员
SMEMBERS key 返回集合中的所有成员
SREM key member1 [member2] 移除集合中一个或多个成员
SSCAN key cursor MATCH [pattern] [COUNT] 迭代集合:#从索引1开始查询2个能够匹配a的字段 SSCAN set1 1 match a count 2

5 Sorted Set有序集合zset

Redis 有序集合和集合一样也是 string 类型元素的集合,且不允许重复的成员。
不同的是每个元素都会关联一个 double 类型的分数。redis 正是通过分数来为集合中的成员进行从小到大的排序。
sorted set中的元素有序不可重复。
有序集合的成员是唯一的,但分数(score)却可以重复。

ZADD key score1 member1 [score2 member2] 向有序集合添加一个或多个成员,或者更新已存在成员的分数,score 分数,member 成员
ZCARD key 获取有序集合的成员数
ZRANK key member 返回有序集合中指定成员的索引
ZREM key member [member ...] 移除有序集合中的一个或多个成员
ZSCORE key member 返回有序集中,成员的分数值
ZSCAN key cursor MATCH [pattern] [COUNT ] 迭代有序集合中的元素(包括元素成员和元素分值)

8-4 jedis

1.pom.xml注入依赖

<dependency>
      <groupId>redis.clients</groupId>
      <artifactId>jedis</artifactId>
      <version>4.2.3</version>
</dependency>

2.application.yml配置

# redis
redis:
  host: 127.0.0.1
  port: 6379
  db: 2 #数据库索引

image

image

标签:day49,redis,元素,数据类型,value,列表,key,集合
From: https://www.cnblogs.com/xiaoto9426/p/16968958.html

相关文章

  • C++新增数据类型long long ,unsigned long long
    相比于C++98标准,C++11整型的最大改变就是多了longlong。但事实上,longlong整型本来就离C++标准很近,早在1995年,longlong就被提议写入C++98标准,却被C+......
  • Redis(三)jedis与锁
    1Jedis引入依赖<dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>4.2.3</versi......
  • Redis(五)持久化
    Redis持久化Redis持久化指的是将redis中的数据写入硬盘的过程。1RDB简介在指定的时间间隔内,将内存中的数据集快照写入磁盘,也就是snapshot,它恢复的时候是将快照文件直......
  • Redis(四)主从复制
    主从复制简介主机数据更新之后根据配置和策略,自动同步数据到备机的Master/Slaver机制,Master以写为主,Slaver以读为主。这样的机制能够实现:读写分离:Master以写为主,Slav......
  • Redis(六)集群
    Redis集群1.1存在的问题容量不够Redis如何扩容并发写操作,Redis如何分摊当主机或者从机宕机,薪火相传、反客为主等主从模式都会导致ip发生变化,应用程序中的配置需......
  • Redis(八)redis新功能
    redis6新功能1ACLRedisACL是AccessControlList(访问控制表)的缩写,该功能允许根据可以执行的命令和访问的键来限制某些连接。2基本命令aclhelp>ACLhelp1)ACL<s......
  • Redis(七)缓存穿透、缓存击穿、缓存雪崩以及分布式锁
    应用问题解决1缓存穿透1.1访问结构正常情况下,服务器接收到浏览器发来的web服务请求,会先去访问redis缓存,如果缓存中存在数据则直接返回,否则会去查询数据库里面的数据,......
  • Redis(一)五种基本数据类型
    1NoSQl数据库1.1技术的发展技术的分类:①解决功能性问题:javase②解决扩展性问题:框架③解决性能问题:redis1.2NoSQL数据库概述NoSQL(NotOnlySQL),不仅仅是SQL,泛指......
  • Redis的数据被删除,占用内存咋还那么大?
    通过CONFIGSETmaxmemory100mb或者在redis.conf配置文件设置maxmemory100mbRedis内存占用限制。当达到内存最大值值,会触发内存淘汰策略删除数据。除此之外,当ke......
  • redis之配置
    一.基本参数1、daemonizedaeonize参数决定了Redis是否会称为一个守护进程,如果该参数值为yes,则表示Redis将会成为一个守护进程,如果该参数为no,则表示Redis不会成为一个守护......