wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum install -y gcc-c++ gcc tcl



Redis de la construction de l'environnement à une utilisation compétente (partage de résumé)
Cet article vous apporte des connaissances pertinentes sur Redis, qui organise principalement les problèmes liés à la construction de l'environnement jusqu'à une utilisation compétente, y compris le didacticiel d'installation à nœud unique Redis, les commandes communes Redis et le modèle de données Redis. Jetons un coup d'œil au contenu ci-dessous, je j'espère que cela sera utile à tout le monde.
Apprentissage recommandé : Tutoriel vidéo Redis
1. Classification NOSQL de base de données non relationnelle commune
Type NOSQL | Principaux produits de base de données | Caractéristiques de type |
---|---|---|
Valeur clé K-V pour types de stockage | Redis et Memcached | , vous pouvez rapidement interroger la valeur à l'aide de la clé. Memcached peut prendre en charge la valeur de type chaîne Redis prend en charge de nombreux types de données de valeur tels que : Stringsethashsortsetlist, etc. |
Type de stockage de documents | MongoDB. , CouchDB | utilise une structure de données JSON ou BSON de type JSON, et le contenu stocké est de type document, qui peut réaliser les fonctions de certaines bases de données relationnelles |
Type de stockage de colonnes | HBase, Cassandra | stocker les données en fonction des colonnes , Ce type est pratique pour stocker des données structurées et semi-structurées, et peut être utilisé pour la compression de données et l'interrogation de données pour une ou plusieurs colonnes |
Type de stockage graphique | Neo4J, FlockDB | stocke les données dans des relations graphiques, et peut bien compenser les lacunes des bases de données relationnelles dans le stockage de graphiques |
Types de stockage d'objets | Db4o, Versant | Ce type de base de données de stockage exploite la base de données d'une manière orientée objet similaire et accède aux données via des objets |
Type de stockage XML | Berkeley DB XML, BaseX | Ce type de base de données peut stocker efficacement les données XML et prend en charge la syntaxe de requête interne de XML, telle que XQuery, XPath |
2. Comprendre Redis
Redis (Remote Dictionary Server), un service de dictionnaire à distance,est un open source (protocole BSD) écrit en langage ANSI C, basé sur la mémoire et prenant en charge la persistance , valeur-clé hautes performances La base de données NOSQL;Redis prend en charge un large éventail de types de structures de données, tels que : chaînes, hachages, listes, ensembles, ensembles triés et requêtes de plage, bitmaps (bitmaps), hyperloglogs (hyperlogs) et requêtes de rayon d'index géospatial (géospatial) et plus encore. Et Redis dispose d'un riche ensemble de clients prenant en charge les langages grand public , C/C++, Python, Erlang, R, C#, Java, PHP, Objective-C, Perl, Ruby, Scala, Go, JavaScript, etc. ; Redis a une réplication intégrée, des scripts Lua, une expulsion LRU, des transactions et différents niveaux de persistance du disque, et offre une haute disponibilité via le partitionnement automatique de Redis Sentinel et Redis Cluster ; nous pouvons appliquer Redis au cache (StackOverFlow), aux bases de données, aux messages ; middleware, etc.
Lien du site officiel de Redis : https://redis.io/
3. Tutoriel d'installation de Redis à nœud unique
en utilisant ' ' ' s ' s c'est ' s
shell,---- pour
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
Copier après la connexion
Générer le cachewget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum makecache
1 Parce que Redis est écrit en langage ANSI C, nous devons installer gcc. dépendance d'abord
yum install -y gcc-c++ gcc tcl
Copier après la connexion
2. Utilisez Xftp Téléchargez le package d'installation compressé Redis sur la machine virtuelle Linux et décompressez-leyum install -y gcc-c++ gcc tcl
Le chemin du package compressé téléchargé, vous pouvez spécifier ou créer vous-même le répertoire de téléchargement
Xiaobei l'a téléchargé dans le répertoire /usr/local/module/, puis décompressé dans / Sous le répertoire usr/local/soft/
tar -xvf redis-3.0.0.tar.gz
3 Entrez le répertoire décompressé redis-3.0.0 et compilez make
.
cd redis-3.0.0
make

La commande shell suivante est utilisée pour tester make Pas besoin de
make test

这是小北的安装目录
mkdir -p /usr/local/soft/redis
make PREFIX=/usr/local/soft/redis install
4. Copiez le fichier de configuration
cp /usr/local/soft/redis-3.0.0/redis.conf /usr/local/soft/redis/bin/

vim /etc/profile
export REDIS_HOME=/usr/local/soft/redis/ export PATH=$REDIS_HOME/bin
source /etc/profile
Démarrer en arrière-plan
rrre. eecd /usr/local/soft/redis/bin
Pour fermer la commande redis, vous devez d'abord obtenir le numéro de processus de Redis et tuer le processus
nohup redis-server redis.conf &
ps -aux | grep redis

Afficher le journal de démarrage :
kill -9
Démarrer Redis en arrière-plan
cat nohup.out
7. Testez avec Redis
redis-cli
set key1 value1
4.
1. Commande d'aide
get key1
3.
Redis中可以给Key设置一个生存时间(秒或毫秒),当达到这个时长后,这些键值将会被自动删除。
(1)设置多少秒或者毫秒后过期 EXPIRE key seconds PEXPIRE key milliseconds (2)设置在指定Unix时间戳过期 EXPIREAT key timestamp PEXPIREAT key milliseconds-timestamp (3)删除过期 PERSIST key (4)生存时间 Time To Live,指Key的剩余生存时间 (5)查看剩余生存时间 TTL key PTTL key key存在但没有设置TTL,返回-1 key存在,但还在生存期内,返回剩余的秒或者毫秒 key曾经存在,但已经消亡,返回-2(2.8版本之前返回-1)
4、查找键命令
(1)查找键使用格式: KEYS pattern (2)pattern的取值 * 任意长度字符 ? 任意一个字符 [] 字符集合,表示可以是集合中的任意一个
5、操作键命令
(1)查看键的数据类型 TYPE key (2)判断键是否存在 EXISTS key (3)给键重命名 RENAME key newkey RENAMENX key newkey 若键存在就rename (4)删除键 DEL key [key ...]
6、GET命令
(1)获取值 GET key (2)获取多个给定的键的值 MGET key [key ...] (3)返回旧值并设置新值 GETSET key value 如果键不存在,就创建并赋值 (4)获取字符串长度 STRLEN key (5)追加字符串 APPEND key value 如果键存在就追加;如果不存在就等同于SET key value (6)获取子字符串 GETRANGE key start end 索引值从0开始,负数表示从字符串右边向左数起,-1表示最有一个字符 (7)覆盖字符串 SETRANGE key offset value
7、步长命令
注意:只能对整形的数据进行步长操作 (1)步长1的增减 INCR key DECR key 字符串值会被解释成64位有符号的十进制整数来操作,结果依然转成字符串 (2)步长增减,指定步长长度 INCRBY key decrement DECRBY key decrement 字符串值会被解释成64位有符号的十进制整数来操作,结果依然转成字符串
8、登录不同的库命令
redis-cli --help redis-cli -n 2
9、清除当前库数据命令
FLUSHDB
10、清除所有库中的数据命令
FLUSHALL
五、BITMAP位图
位图不是真正的数据类型,它是定义在字符串类型中的,我们知道一个字符串类型的值最多能存储512M字节的内容,其中位上限:2^(9+10+10+3) =2^32b
1、位图常用命令
(1)设置某一位上的值 SETBIT key offset value offset偏移量,从0开始 value不写,默认是0 (2)获取某一位上的值 GETBIT key offset (3)返回指定值0或者1在指定区间上第一次出现的位置 BITPOS key bit [start] [end]
2、位操作命令
对一个或多个保存二进制位的字符串 key 进行位元操作,并将结果保存到 dteskey 上
- operation 可以是 AND 、 OR 、 NOT 、 XOR 这四种操作中的任意一种
- BITOP AND destkey key [key …] ,对一个或多个 key 求逻辑并,并将结果保存到 destkey
- BITOP OR destkey key [key …] ,对一个或多个 key 求逻辑或,并将结果保存到 destkey
- BITOP XOR destkey key [key …] ,对一个或多个 key 求逻辑异或,并将结果保存到 destkey
- BITOP NOT destkey key ,对给定 key 求逻辑非,并将结果保存到 destkey
- 除了 NOT 操作之外,其他操作都可以接受一个或多个 key 作为输入
- 当 BITOP 处理不同长度的字符串时,较短的那个字符串所缺少的部分会被看作 0
- 空的 key 也被看作是包含 0 的字符串序列
已知a和b的二进制表示: a = 01100001 b = 01100010 都为1才为1 AND=》求逻辑并(与) 1 and 1->1 0 and 0->0 1 and 0->0 bitop and aband a b 有一个为1就为1 OR=》求逻辑或 1 or 1->1 0 or 0->0 1 or 0->1 bitop or abor a b 就是取反(反转)NOT=》求逻辑非 not 0 ->1 not 1->0 bitop not anot a bitop not bnot b 相同为0,相异为1 XOR=》求逻辑异或 0 xor 0->0 1 xor 1->0 1 xor 0->1 bitop xor abxor a b
3、统计指定位区间上值为1的个数
使用格式1: BITCOUNT key [start] [end] 从左向右从0开始,从右向左从-1开始, 注意:官方start、end是位,测试后是字节 使用格式2: BITCOUNT testkey 0 0 表示从索引为0个字节到索引为0个字节,也就是指对第一个字节的统计 注意: BITCOUNT testkey 0 -1 等同于BITCOUNT testkey 我们最常用的格式就是 BITCOUNT testkey
六、Redis的数据模型
1、Redis的 key 键
Redis的 key 值是二进制安全的,这意味着可以用任何二进制序列作为key值,从形如”foo”的简单字符串到一个JPEG文件的内容都可以。空字符串也是有效key值。
Key取值原则:
- 键值不需要太长,太长会消耗内存,且在数据中查找这类键值的计算成本较高
- 键值不宜过短,过短则可读性较差
2、Redis的 Value 值
1、String字符串
字符串是一种最基本的Redis值类型。Redis字符串是二进制安全的,这意味着一个Redis字符串能包含任意类型的数据;并且一个字符串类型的值最多能存储512M字节的内容。
2、 List列表
List列表是基于Linked List实现的,列表中的元素是字符串类型;而列表的头尾增删速度快,中间增删速度慢,正常使用过程中增删元素是常态,列表中元素可以重复出现,并且列表中最多能包含2^32-1个元素;列表的索引,从左至右,从0开始;从右至左,从-1开始
(1)注意: 命令说明: B --》block 块,阻塞 L --》left 左 R --》right 右 X --》exist 存在
(2)左右(或者头尾)压入元素 左(头)压入元素: 格式: LPUSH key value [value ...] 举例: LPUSHX key value 左(头)压入元素: 格式:RPUSH key value [value ...] 举例:RPUSHX key value
(3)左右(或者头尾)弹出元素(取出元素后,原先的位置就没有了) LPOP key RPOP key (4)从一个列表尾部弹出元素压入到另一个列表的头部 RPOPLPUSH source destination (5)返回列表中指定范围元素(返回元素后,原先的位置还有) LRANGE key start stop LRANGE key 0 -1 表示返回所有元素 (6)获取指定位置的元素 LINDEX key index (7)设置指定位置元素的值 LSET key index value (8)获取列表长度(元素个数) LLEN key (9)从列表头部开始删除值等于value的元素count次 LREM key count value count > 0 : 从表头开始向表尾搜索,移除与 value 相等的元素,数量为 count count <h2></h2><p id="623">3、 Hash散列</p><p> <strong>Hash散列是由field和关联的value组成的map键值对,而field和value都是字符串类型,一个hash中最多包含2^32-1键值对。</strong></p><pre class="brush:php;toolbar:false">(1)设置单个字段 HSET key field value HSETNX key field value 当在key的filed不存在的情况下执行,那么key不存在会直接创建 (2)设置多个字段 HMSET key field value [field value ...] (3)返回字段个数 HLEN key (4)判断字段是否存在 HEXISTS key field key或者field不存在,返回0 (5)返回字段值 HGET key field (6)返回多个字段值 HMGET key field [field ...] (7)返回所有的键值对 HGETALL key (8)返回所有字段名 HKEYS key (9)返回所有值 HVALS key (10)在字段对应的值上进行整数的增量计算 HINCRBY key field increment (11)在字段对应的值上进行浮点数的增量计算 HINCRBYFLOAT key field increment (12)删除指定的字段 HDEL key field [field ...]
1).使用Hash的优点
- 节约内存空间
- 每创建一个键,它都会为这个键储存一些附加的管理信息(例如这个键最后一次被访问的时间等等)所以数据库里面的键越多,Redis数据库服务器在储存附加管理信息方面耗费的内存就会越多,那么用在管理数据库键上的CPU也会越多,在字段对应的值上进行浮点数的增量计算。
2).不适合使用Hash的情况
- 使用二进制位操作命令:因为Redis目前支持对字符串键进行SETBIT、GETBIT、BITOP等操作,若要使用这些操作,那么只能使用字符串键,虽然散列也能保存二进制数据
- 使用过期键功能:Redis的键过期功能目前只能对键进行过期操作,而不能对散列的字段进行过期操作,因此如果你要对键值对数据使用过期功能的话,那么只能把键值对储存在字符串里面
4、Set集合
Set集合内存储的元素是无序的、去重的,元素是字符串类型,最多包含2^32-1个元素
(1)增加一个或多个元素 SADD key member [member ...] 如果元素已经存在,则自动忽略 (2)移除一个或者多个元素 SREM key member [member ...] 元素不存在,自动忽略 (3)返回集合包含的所有元素 SMEMBERS key 如果集合元素过多,例如百万个,需要遍历,可能会造成服务器阻塞,生产环境应避免使用 (4)检查给定元素是否存在于集合中 SISMEMBER key member (5)集合的无序性 SADD friends "java" "hadoop" "tomcat" "hive" "mapreduce" "spark" SADD anotherfriends "java" "hadoop" "tomcat" "hive" "mapreduce" "spark" SMEMBERS friends SMEMBERS anotherfriends 注意: SMEMBERS 有可能返回不同的结果, 如果需要存储有序且不重复的数据使用有序集合,存储有序可重复的使用列表 (6)随机返回集合中指定个数的 SRANDMEMBER key [count] 如果 count 为正数,且小于集合基数, 那么命令返回一个包含 count 个元素的数组,数组中的元素各不相同。 如果 count 大于等于集合基数,那么返回整个集合 如果 count 为负数, 那么命令返回一个数组,数组中的元素可能会重复出现多次,而数组的长度为 count 的绝对值 如果 count 为 0,返回空 如果 count 不指定,随机返回一个元素 (7)返回集合中元素的个数 SCARD key 键的结果会保存信息,集合长度就记录在里面,所以不需要遍历 (8)随机从集合中移除并返回这个被移除的元素 SPOP key (9)把元素从源集合移动到目标集合 SMOVE source destination member (10)求差集 SDIFF key [key ...],从第一个key的集合中去除其他集合和自己的交集部分 SDIFFSTORE destination key [key ...],将差集结果存储在目标key中 (11)求交集 SINTER key [key ...],取所有集合交集部分 SINTERSTORE destination key [key ...],将交集结果存储在目标key中 (12)求并集 SUNION key [key ...],取所有集合并集 SUNIONSTORE destination key [key ...],将并集结果存储在目标key中
5、SortedSet有序集合
SortedSet有序集合与Set集合类似,它是有序的、去重的,元素是字符串类型,每一个元素都关联着一个浮点数分值(Score),并按照分值从小到大的顺序排列集合中的元素。其分值可以相同;最多包含2^32-1个元素。
(1)增加一个或多个元素 ZADD key score member [score member ...] 如果元素已经存在,则使用新的score (2)移除一个或者多个元素 ZREM key member [member ...] 元素不存在,自动忽略 (3)显示分值 ZSCORE key member (4)增加或者减少分值 ZINCRBY key increment member increment为负数就是减少 (5)返回元素的排名(索引) ZRANK key member (6)返回元素的逆序排名 ZREVRANK key member (7)返回指定索引区间元素 ZRANGE key start stop [WITHSCORES] 如果score相同,则按照字典序lexicographical order 排列 默认按照score从小到大,如果需要score从大到小排列,使用ZREVRANGE (8)返回指定索引区间元素 ZREVRANGE key start stop [WITHSCORES] 如果score相同,则按照字典序lexicographical order 的 逆序 排列 默认按照score从大到小,如果需要score从小到大排列,使用ZRANGE (9)返回指定分值区间元素(升序排序) ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count] 返回score默认属于[min,max]之间,元素按照score升序排列,若score相同则按照字典排序 LIMIT中offset代表跳过多少个元素,count是返回几个。类似于Mysql 使用小括号,则修改区间为开区间,例如(5、(10、5) -inf 和 +inf 分别表示负无穷和正无穷 (10)返回指定分值区间元素(降序排序) ZREVRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count] 返回score默认属于[min,max]之间,元素按照score降序排列,score相同字典降序 LIMIT中offset代表跳过多少个元素,count是返回几个。类似于Mysql 使用小括号,修改区间为开区间,例如(5、(10、5) -inf和+inf表示负无穷和正无穷 (11)移除指定排名范围的元素 ZREMRANGEBYRANK key start stop (12)移除指定分值范围的元素 ZREMRANGEBYSCORE key min max (13)返回集合中元素个数 ZCARD key (14)返回指定范围中元素的个数 ZCOUNT key min max ZCOUNT fruits 4 7 ZCOUNT fruits (4 7 (15)求并集 ZUNIONSTORE destination numkeys key [key ...] [WEIGHTS weight] [AGGREGATE SUM|MIN|MAX]numkeys必须指定key的数量 WEIGHTS选项,与前面设定的key对应,对应key中每一个score都要乘以这个权重 AGGREGATE选项,指定并集结果的聚合方式 SUM:将所有集合中某一个元素的score值之和作为结果集中该成员的score值 MIN:将所有集合中某一个元素的score值中最小值作为结果集中该成员的score值 MAX:将所有集合中某一个元素的score值中最大值作为结果集中该成员的score值 (16)求交集 ZINTERSTORE destination numkeys key [key ...] [WEIGHTS weight] [AGGREGATE SUM|MIN|MAX]numkeys指定key的数量,必须 WEIGHTS选项,与前面设定的key对应,对应key中每一个score都要乘以这个权重 AGGREGATE选项,指定并集结果的聚合方式 SUM:将所有集合中某一个元素的score值之和作为结果集中该成员的score值 MIN:将所有集合中某一个元素的score值中最小值作为结果集中该成员的score值 MAX:将所有集合中某一个元素的score值中最大值作为结果集中该成员的score值
七、Redis持久化
Redis持久化是指将数据从掉电易失的内存存放到能够永久存储的设备上
Redis持久化两种方式:RDB(Redis DB) 和 AOF(AppendOnlyFile)
1、Redis持久化-RDB
在默认情况下,Redis 将数据库快照保存在名字为 dump.rdb的二进制文件中
(1)RDB使用策略
- 自动:按照配置文件中的条件满足就执行BGSAVE
save 60 10000,Redis要满足在60秒内至少有10000个键被改动,会自动保存一次 - 手动:客户端发起SAVE、BGSAVE命令
注意:RDB策略会容易造成数据丢失
(2)SAVE命令
在redis 客户端使用 save命令用于将数据持久化的保存到disk(磁盘)中,但执行该命令时会阻塞Redis服务,无法响应客户端请求,也就是在服务器执行save命令期间,Redis服务器不允许执行其它的命令直到save命令执行完,执行save命令会创建新的dump.rdb替代旧文件。
(3)BGSAVE命令
(该命令是在后台执行的,是一个异步命令)
在redis客户端 使用 bgsave命令时,不会阻塞Redis服务,也就是非阻塞,Redis服务正常接收处理客户端请求,并且Redis会folk()一个新的子进程来创建RDB文件,子进程处理完后会向父进程发送一个信号,通知它处理完毕,父进程用新的dump.rdb替代旧文件
(4)SAVE 和 BGSAVE 命令的区别
- SAVE不用创建新的进程,速度略快
- BGSAVE需要创建子进程,消耗额外的内存
- SAVE适合停机维护,服务低谷时段
- BGSAVE适合线上执行
(5)RDB持久化的优缺点
优点
- 完全备份,不同时间的数据集备份可以做到多版本恢复
- 紧凑的单一文件,方便网络传输,适合灾难恢复
- 恢复大数据集速度较AOF快
缺点
- 会丢失最近写入、修改的而未能持久化的数据
- folk过程非常耗时,会造成毫秒级不能响应客户端请求
2、Redis持久化-AOF
Append only file(AOF),该方式采用追加的方式保存数据,默认保存的文件appendonly.aof;该方式会记录所有的写操作命令,在服务启动的时候使用这些命令就可以还原数据库;调整AOF持久化策略,可以在服务出现故障时,不丢失任何数据,也可以丢失一秒的数据。相对于RDB方式损失要小得多
(1)AOF写入机制
- AOF方式不能保证绝对不丢失数据
- 目前常见的操作系统中,执行系统调用write函数,将一些内容写入到某个文件里面时,为了提高效率,系统通常不会直接将内容写入硬盘里面,而是先将内容放入一个内存缓冲区(buffer)里面,等到缓冲区被填满,或者用户执行fsync调用和fdatasync调用时才将储存在缓冲区里的内容真正的写入到硬盘里,而在未写入磁盘之前,数据可能会丢失。
(2) 写入磁盘的策略
在redis.conf文件中的appendfsync选项,这个选项的值可以是always、everysec或者no
- Always:服务器每写入一个命令,就调用一次fdatasync,将缓冲区里面的命令写入到硬盘。这种模式下,服务器出现故障,也不会丢失任何已经成功执行的命令数据
- Everysec(默认):服务器每一秒重调用一次fdatasync,将缓冲区里面的命令写入到硬盘。这种模式下,服务器出现故障,最多只丢失一秒钟内的执行的命令数据
- No:服务器不主动调用fdatasync,由操作系统决定何时将缓冲区里面的命令写入到硬盘。这种模式下,服务器遭遇意外停机时,丢失命令的数量是不确定的
运行速度:always的速度慢,everysec和no都很快
(3)AOF重写机制
- AOF文件过大
- 合并重复的操作,AOF会使用尽可能少的命令来记录
重写的过程
- folk一个子进程负责重写AOF文件
- 子进程会创建一个临时文件写入AOF信息
- 父进程会开辟一个内存缓冲区接收新的写命令
- 子进程重写完成后,父进程会获得一个信号,将父进程接收到的新的写操作由子进程写入到临时文件中
- 新文件替代旧文件
注意:如果写入操作的时候出现故障导致命令写半截,可以使用redis-check-aof工具修复
(4)AOF重写触发
- 手动:客户端向服务器发送BGREWRITEAOF命令
- 自动:配置文件中的选项,自动执行BGREWRITEAOF命令
- auto-aof-rewrite-min-size ,触发AOF重写所需的最小体积:只要在AOF文件的体积大于等于size时,才会考虑是否需要进行AOF重写,这个选项用于避免对体积过小的AOF文件进行重写
- auto-aof-rewrite-percentage ,指定触发重写所需的AOF文件体积百分比:当AOF文件的体积大于auto-aof-rewrite-min-size指定的体积,并且超过上一次重写之后的AOF文件体积的percent %时,就会触发AOF重写。(如果服务器刚刚启动不久,还没有进行过AOF重写,那么使用服务器启动时载入的AOF文件的体积来作为基准值)。将这个值设置为0表示关闭自动AOF重写
举例:
auto-aof-rewrite-percentage 100 auto-aof-rewrite-min-size 64mb 当AOF文件大于64MB时候,可以考虑重写AOF文件 只有当AOF文件的增量大于起始size的100%时, 也就是文件大小翻了一倍时,启动重写
(5)AOF持久化的优缺点
优点
- 写入机制,默认fysnc每秒执行,性能很好不阻塞服务,最多丢失一秒的数据
- 重写机制,优化AOF文件
- 如果误操作了(例如:FLUSHALL等),只要AOF未被重写,停止服务移除AOF文件尾部FLUSHALL命令,重启Redis,可以将数据集恢复到 FLUSHALL 执行之前的状态
缺点
- 相同数据集,AOF文件体积较RDB大了很多
- 恢复数据库速度叫RDB慢(文本,命令重演)
八、idea使用Jedis连接Redis
首先需要在idea中的maven中的依赖配置文件pom.xml中导入jedis的依赖包,这里北使用的3.0版本的redis,那么导入的jedis依赖也是对应版本的;若是其它版本可以在maven仓库中选择对应版本,链接地址:https://mvnrepository.com/artifact/redis.clients/jedis
<!-- https://mvnrepository.com/artifact/redis.clients/jedis --> <dependency> <groupid>redis.clients</groupid> <artifactid>jedis</artifactid> <version>3.0.0</version> </dependency>
idea中建立连接
import redis.clients.jedis.Jedis;/** * jdbc:是一种连接关系型数据的规范 * redis: 是kv结构的非关系型数据库(没有sql语句),使用jedis连接 */public class jedistest { public static void main(String[] args) { //创建redis连接 Jedis jedis = new Jedis("master", 6379); //获取数据 String name = jedis.get("name"); System.out.println(name); }}
推荐学习:Redis视频教程
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Le mode Redis Cluster déploie les instances Redis sur plusieurs serveurs grâce à la rupture, à l'amélioration de l'évolutivité et de la disponibilité. Les étapes de construction sont les suivantes: Créez des instances de redis étranges avec différents ports; Créer 3 instances Sentinel, Moniteur Redis Instances et basculement; Configurer les fichiers de configuration Sentinel, ajouter des informations d'instance Redis de surveillance et des paramètres de basculement; Configurer les fichiers de configuration d'instance Redis, activer le mode de cluster et spécifier le chemin du fichier d'informations de cluster; Créer un fichier nœuds.conf, contenant des informations de chaque instance redis; Démarrez le cluster, exécutez la commande CREATE pour créer un cluster et spécifiez le nombre de répliques; Connectez-vous au cluster pour exécuter la commande d'informations de cluster pour vérifier l'état du cluster; faire

Comment effacer les données Redis: utilisez la commande flushall pour effacer toutes les valeurs de clé. Utilisez la commande flushdb pour effacer la valeur clé de la base de données actuellement sélectionnée. Utilisez SELECT pour commuter les bases de données, puis utilisez FlushDB pour effacer plusieurs bases de données. Utilisez la commande del pour supprimer une clé spécifique. Utilisez l'outil Redis-CLI pour effacer les données.

Pour lire une file d'attente à partir de Redis, vous devez obtenir le nom de la file d'attente, lire les éléments à l'aide de la commande LPOP et traiter la file d'attente vide. Les étapes spécifiques sont les suivantes: Obtenez le nom de la file d'attente: Nommez-le avec le préfixe de "Fitre:" tel que "Fitre: My-Quyue". Utilisez la commande LPOP: éjectez l'élément de la tête de la file d'attente et renvoyez sa valeur, telle que la file d'attente LPOP: My-Queue. Traitement des files d'attente vides: si la file d'attente est vide, LPOP renvoie NIL et vous pouvez vérifier si la file d'attente existe avant de lire l'élément.

L'utilisation de la directive Redis nécessite les étapes suivantes: Ouvrez le client Redis. Entrez la commande (Verbe Key Value). Fournit les paramètres requis (varie de l'instruction à l'instruction). Appuyez sur Entrée pour exécuter la commande. Redis renvoie une réponse indiquant le résultat de l'opération (généralement OK ou -err).

L'utilisation des opérations Redis pour verrouiller nécessite l'obtention du verrouillage via la commande setnx, puis en utilisant la commande Expire pour définir le temps d'expiration. Les étapes spécifiques sont les suivantes: (1) Utilisez la commande setnx pour essayer de définir une paire de valeurs de clé; (2) Utilisez la commande Expire pour définir le temps d'expiration du verrou; (3) Utilisez la commande del pour supprimer le verrouillage lorsque le verrouillage n'est plus nécessaire.

La meilleure façon de comprendre le code source redis est d'aller étape par étape: familiarisez-vous avec les bases de Redis. Sélectionnez un module ou une fonction spécifique comme point de départ. Commencez par le point d'entrée du module ou de la fonction et affichez le code ligne par ligne. Affichez le code via la chaîne d'appel de fonction. Familiez les structures de données sous-jacentes utilisées par Redis. Identifiez l'algorithme utilisé par Redis.

Sur CentOS Systems, vous pouvez limiter le temps d'exécution des scripts LUA en modifiant les fichiers de configuration Redis ou en utilisant des commandes Redis pour empêcher les scripts malveillants de consommer trop de ressources. Méthode 1: Modifiez le fichier de configuration Redis et localisez le fichier de configuration Redis: le fichier de configuration redis est généralement situé dans /etc/redis/redis.conf. Edit Fichier de configuration: Ouvrez le fichier de configuration à l'aide d'un éditeur de texte (tel que VI ou NANO): Sudovi / etc / redis / redis.conf Définissez le délai d'exécution du script LUA: Ajouter ou modifier les lignes suivantes dans le fichier de configuration pour définir le temps d'exécution maximal du script LUA (unité: millisecondes)

Utilisez l'outil de ligne de commande redis (Redis-CLI) pour gérer et utiliser Redis via les étapes suivantes: Connectez-vous au serveur, spécifiez l'adresse et le port. Envoyez des commandes au serveur à l'aide du nom et des paramètres de commande. Utilisez la commande d'aide pour afficher les informations d'aide pour une commande spécifique. Utilisez la commande QUIT pour quitter l'outil de ligne de commande.
