有兴趣跟我来学下这个吗?

  • 时间:
  • 浏览:3
  • 来源:大发快三代理—大发大发彩票app

(6) 递减: decr key1 ( 将 key1 的值递减一次,可能不发生或多或少值,则先将或多或少值设置为 0 ,倘若递减 1 ;可能都都可不都可以转为整形,则返回错误信息。 )

(4) 判断在集合中元素不是发生: sismember myset value1 ( 可能发生,返回 1 ;不发生返回0)

(5) 递增: incr key1 ( 将 key1 的值递增一次,可能不发生或多或少值,则先将或多或少值设置为 0 ,倘若递增 1 ;可能都都可不都可以转为整形,则返回错误信息。 )

NoSQL 数据库的四大分类 :

(1) 键值 (Key - Value) 存储

(2) 查看: smembers set1

(4) 高可用:能都都可不都可以集成于或多或少框架

(2) 将 key1 移动到从前数据库: move key1 index_

(6) 交集: sinter set1 set2 ( 返回并肩 set1 、 set2 中都发生的元素 )

(1) 两端再加:左侧 - lpush list1 value1 右侧 - rpush list1 value2

(4) 范围查找: zrange sort num1 num2 显示分数 - zrange sort1 num1 num2 withscores ( 分数由小到大 ) zreverange sort1 num1 num2 withscores ( 分数由大到小 ) 按分数由小到大查找 - zrangebyscore sort1 num1 num2 按分数由小到大查找,并显示分数 - zrangebyscore sort1 num1 num2 withscores 分页查找 - zrangebyscore sort1 num1 num2 limit start_num stop_num

(6) 统计分数范围的元素个数: zcount sort1 score1 score2

(5) 应用排行榜

配置:

redis 配置文件为 redis.conf(window 下为 redis.windows-service.conf)

(7) 递增值: incrby key1 val1 ( 将 key1 的值递增 val1 ,可能不发生或多或少值,则先将或多或少值设置为 0 ,倘若递增 val1 ;可能都都可不都可以转为整形,则返回错误信息。 )

为那些还要 NoSQL?

(1) High performance - 高并发读写

(1) 存:存 单个键值对 - hset key1 field1 value1 存多个键值对 - hmset key1 field1 value1 field2 value2 ... ...

Redis 与或多或少 key-value 缓存产品有以下一一八个 特点:

Redis 支持数据的持久化,能都都可不都可以将内存中的数据保发生磁盘中 ( 在写入的过后可能会发生数据丢失 ) ,重启的过都可不都可以都都可不都可以再次加载进行使用。

Redis 不仅仅支持简单的 key-value 类型的数据,并肩还提供 list 、 set 、 sorted set 、 hash等数据形状的存储。

Redis 支持数据的备份,即 master-slave 模式的数据备份。

Redis 连接

Jedis 是 Redis 官方推荐的 Java 连接开发工具。

(5) 重命名: rename key1 new_key1

(8) 递减值: decrby key1 val1 ( 将 key1 的值递减 val1 ,可能不发生或多或少值,则先将或多或少值设置为 0 ,倘若递减 val1 ;可能都都可不都可以转为整形,则返回错误信息。 )

(8) 获取元素个数: scard set1

(2) 查看: lrange list1 start_number end_number (num 能都都可不都可以为负数,负数表示从尾部始于的索引位置 )

(6) 分布式集群架构中的 session 分离

}

Redis 优势

性能极高: Redis 最高读取下行速率 是 120000 次 /s ,写入下行速率 是 82000 次 /s 。

富于的数据类型进行存储。

操作原子性: Redis 的所有操作有的是原子性的,倘若支持多个操作通过 MULTI 和 EXEC 指令国际国际快递包裹起来后的原子性。

有关 redis 的下载安装请查考 https://www.runoob.com/redis/redis-install.html

(3) 获取并设置: getSet key1 value2

Redis 的应用场景:

(1) 缓存:数据的查询

打开 AOF : appenddonly yes

日志文件名称: appendfilename “appendonly.aof”

设置同步策略:每秒同步 - appendfsync always; 每修改同步 - appendfsync everysec; 不同步 - appendfsync no;

AOF 下的 Redis 持久化 :启动后, 插入或多或少数据后,通过 flushall 清空数据库 , 倘若关闭 redis ,重新启动 redis 过后,修改 日志文件 配置文件,将最后一行的 flushAll 删除,并保存 , 倘若重启 redis

Redis 存储数据类型

字符串( 字符串) : string 是 redis 最基本的类型,是二进制安全的,意思是 redis 的 string能都都可不都可以富含任何数据,比如 jpg 图片可能序列化的对象。一一一八个 键最大存储为 512MB 。

(1) 存: set key1 value1

(4) 判断不是发生: exists key1 ( 返回 1- 发生, 0- 不发生 )

(2) 任务队列:秒杀,抢购

}catch (Exception e){

(3) 文档数据库

redis 的高性能是可能所有的数据有的是保发生内存中。为了保存数据不被丢失,就还要对数据进行持久化。

4 、与 AOF 相比优势:启动下行速率 更高

(6) 设置过期时间 ( 单位: s) : expire key1 num

(3) 大数据量,高性能:具有高读写性能

(3) High Scalability && Hig Availability - 高可扩展性和高可用性

Redis 的 keys 的通用操作

(1) 获取所有 key : keys *

(3) 删除 key : del key1 key2 ...

(3) 删除元素: zrem sort1 value1 value2 ... 范围删除 - zremrangebyrank sort1 num1 num2 按分数范围删除 - zremrangebyscore sort1 score1 score2

REmote DIctionary Server(Redis) 是一一一八个 由 Salvatore Sanfillippo 写的 key-value 存储系统,遵循 BSD 协议、支持网络、可基于内存亦可持久化的日志型、 key-value 数据库,通常称它为数据形状服务器,可能值 (value) 能都都可不都可以是 String 、 Hash 、 List 、 Set 、 Sorted Set 等类型。

(3) 删除: srem set1 value1 value2 ...

(9) 拼凑字符串: append key1 val1 ( 字符串拼接,将 redis 中 key1 的值上方拼接一一一八个 val1字符串,返回拼接后字符串的长度,可能不发生,则进行创建设置为 val1)

(2) 提交事务: exec

NoSQL 的特点 :

(1) 易扩展:数据库种类多,非关系

(5) 插入: lpushx list1 value1 ( 仅当 list1 发生时才在左侧插入 ) rpushx list1 value1 ( 仅当 key1发生时才在右侧插入 )

(7) 在指定位置再加元素:在指定位置插入元素 - lset list1 index1 value1 在指定元素前插入元素- linsert list1 before value1 value2 在指定元素后插入元素 - linsert list1 after value1 value2

(9) 随机返回一一一八个 元素: srandmember set1

(1) 再加元素: zadd sort1 score1 value1 score2 value2 ... ... ( 返回再加元素的个数 )

save 900 1:表示 每 900 秒最少一一一八个 key 发生变化,就保存一次

save 200 10: 表示每 200 秒最少有 10 个 key 发生变化,就保存一次

save 200 20000: 表示每 200 秒最少有 20000 个 key 发生变化,就保存一次

dbfilename dump.rdb:表示存储数据的文件名

dir ./ :表示数据的存储路径

AOF

优势:

1 、更高的数据安全性 。同步策略:每秒同步,每修改同步、不同步。每秒同步:异步完成,下行速率 高,系统再次出现宕机,这样或多或少秒中修改的数据就会丢失;每修改同步:能都都可不都可以看作同步持久化,么一次发生数据的变化,有的是立即写到磁盘当中,下行速率 低,倘若最安全

能都都可不都可以使用 号获取所有配置项: config get

Redis CONFIG 命令格式如下:

redis 127.0 . 0.1 : 6379 > CONFIG GET CONFIG_SETTING_NAME

(2) 取:取单个键值 - hget key1 field1 取多个键值 - hmget key1 field1 field2 ... ... 取 key1 对象的完整性键值 - hgetall key1

(3) 网站访问统计

(4) 数据过期防止:精确到毫秒

(3) 回滚事务: discard

(4) 删除: del key1

2 、对日志文件的写入操作,采用的是追加模式( append ),倘若在写入过程中,即使再次出现了宕机的状况,也不会破坏日志文件中可能发生的内容。可能本次写入进行到一半就再次出现宕机,这样或多或少依据也不必担心, redis 在下一次启动过后,能都都可不都可以通过 redis-check-aof 或多或少工具,帮助.我防止数据一致性的疑问

(8) 获取类型: type key1

(2) 获取字符开头的 keys : keys prefix?

(1) 存: sadd set1 value1 value2 ...

劣势:

1 、想保证数据的高可用性(最大限度防止数据的丢失),那 RDB 有的是一一一八个 很好的选着(可能系统在定时持久化过后发生故障,这样数据还没来得及往磁盘上写,数据就可能丢失了)

2 、根据同步策略的不同, AOF 在下行速率 上往往低于 RDB

// 获得连接池的配置对象

JedisPoolConfig config = new JedisPoolConfig();

// 设置最大连接数

config.setMaxTotal(200);

// 设置最大的空闲连接数

config.setMaxIdle(10);

// 设置最大等待歌曲时间

config.setMaxWaitMillis(2000);

2 、子任务管理器池池协助完成持久化,倘若当数据集很大的过后,可能会愿因服务器停止几百毫秒

配置:

redis 默认使用 RDB 依据持久化 , 配置文件为 redis.conf(window 下为 redis.windows-service.conf)

(6) 删除指定值得元素: lrem list1 count_number value1 ( 删除 list1 中 count_number 个值为 value1 的元素,可能 count_number > 0 ,表示从左侧始于好多个个;可能 count_number < 0 ,表示从右侧始于好多个个;可能 count_number = 0 ,表示有的是完整性值为 value1 的元素。 )

劣势

1 、对于相同数量的数据集而言, AOF 的文件要比 RDB 的文件大或多或少

W indow :

3 、可能日志过大, redis 能都都可不都可以自动启动重写机制, redis 以 append 模式不断的将修改的数据写入到老的磁盘文件当中,并肩 redis 会创建一一一八个 新的文件,用于记录此期间产生的那些修改命令被执行。倘若,在进行重写切换的过后,能都都可不都可以更好的去保证数据的安全性

Redis 的持久化 :

运行服务端: 打开一一一八个 cmd 窗口 使用 cd 命令切换目录到 redis安装目录(如:D :redis) 运行:redis-server.exe redis.windows.conf 启动服务端,都都可不都可以都都可不都可以直接点击 redis.window.conf 进行运行。

访问服务端:另启一一一八个 cmd窗口(从前打开的cmd窗口太少关闭,不然无法访问服务端),使用cd命令切换到redis的安装目录下运行: redis-cli.exe -h 127.0.0.1 -p 6379

Redis 配置

Redis 的配置文件发生 Redis 安装目录下文件名为 redis.windows.conf 中,都都可不都可以都都可不都可以通过 config命令查看或设置配置项。

还要java学习路线图的私信笔者“java”领取哦!另外喜欢这篇文章的能都都可不都可以给笔者点个赞同,关注一下,每天有的是分享Java相关文章!还有不定时的福利赠送,包括分发的学习资料,面试题,源码等~~

(12) 将一一八个 set(set1 、 set2) 的并集存中放从前集合 (set3) 中: sunionstore set1 set2 set3

RDB 依据: 默认支持、不还要配置 , 在指定的时间间隔内,将内存中的数据集快照写入磁盘 。

AOF 依据: 以日志的依据,记录服务器发生理的每一一一八个 操作,在 redis 启动的过后会读取该文件,来重新构建数据库,保证启动后数据库中的数据是完整性的 。

不持久化 : 通过配置禁用 redis 持久化的功能,从前 redis 也不一一一八个 缓存的工具

能都都可不都可以 RDE 、 AOF 结合使用。

RDB :

优势:

1 、 redis 的数据库只富含一一一八个 文件,对于文件备份来说很完美

(2) 列存储

在学习redis过后,.我首先还要了解一下NoSQL(非关系数据库)。非关系型数据库通常指数据以对象的形式存储在数据库中,而对象之间的关系通过每个对象自身的属性来决定。

(8) 将 list1 中的尾部元素取出并再加到 list2 的头部 : rpoplpush list1 list2

3 、性能最大化:对于 redis 任务管理器池池而言,在始于持久化的过后,它唯一还要做的是 分叉处 或多或少子任务管理器池池,过后的由子任务管理器池池完成那些持久化的工作,极大的防止服务器任务管理器池池执行 IO 操作

(3) 删除:删除多个键值对 - hdel key1 field1 field2 ... 删除完整性 del key1

4 、 AOF 富含一一一八个 格式清晰易于理解的日志文件用于记录所有的修改操作,都都可不都可以都都可不都可以通过或多或少文件完成数据的重建

try(

// 1.设置IP地址和端口

Jedis jedis = new Jedis("localhost", 6379);

// 2.保存数据

jedis.set("name", "张三");

String val = jedis.get("name");

System.out.println(val);

// 3.关闭资源

jedis.close();

基于连接池的连接

(5) 分数加减: zscore sort1 score1 value1

(10) 将一一八个 set(set1 、 set2) 的差集存中放从前集合 (set3) 中: sdiffstore set1 set2 set3

(3) 两端弹出:左侧 - lpop list1 右侧 - rpop list1

Redis 的形状:

多数据库 :一一一八个 redis 能都都可不都可以富含多个数据库,客户端能都都可不都可以指定连接某个 redis 实例的数据库,一一一八个 redis 最多能都都可不都可以提供 16 个数据库,下标为 0~15 ,客户端默认连接下标为 0 的数据库。( index_ 表示下标,数值为 0~15 )

(1) 指定连接那个数据库: select index_

(7) 所剩时间: ttl key1 ( 无设置过期时间,返回 -1)

2 、备份: 如 每个小时归档一次最近 24 小时的数据,并肩每天归档一次最近 200 天的数据,这样当系统再次出现灾难性故障的过后,能都都可不都可以恢复(对于灾难恢复来说 RDB 是非常好的选着,能都都可不都可以将一一一八个 单独的文件压缩后转移到或多或少的存储介质上)

(2) 取: get key1

(2) 获取元素:获取元素的分数 - zscore sort1 value1 获取元素的个数 - zcard sort1

(4) 长度: llen list1

(1) 开启事务: multi

(5) 差集: sdiff set1 set2 ( 返回在 set1 中发生的,在 set2 不发生的元素 )

(11) 将一一八个 set(set1 、 set2) 的交集存中放从前集合 (set3) 中: sinterstore set1 set2 set3

(2) Huge Storage - 海量数据的高下行速率 存储和访问

(2) 灵活的数据模型:我太少 对存储的数据模型进行建立

(4) 图形数据库

(7) 并集: sunion set1 set2 ( 返回 set1 、 set2 的集合,会自动去重 )