Lernen und Anwenden von MySQL Redis
Relationale Datenbanken wie MySQL haben eine begrenzte Lese- und Schreibleistung, wenn Daten in Situationen mit hoher Parallelität gespeichert werden, um dies auszugleichen . Überwindung der Mängel relationaler Datenbanken.
[Einführung]
Redis ist eine Schlüsselwertspeicherform einer Nosql-Datenbank Es unterstützt Master-Slave-Replikation, Transaktionsverarbeitung, optimistisches Sperren, komplexe Transaktionskontrolle, Persistenz, Veröffentlichung und Abonnement von Nachrichten und andere Funktionen.
[Einführung in Datentypen]
Der Datentyp von Redis ist einfacher als der einer relationalen Datenbank und ist in fünf Haupttypen unterteilt: Zeichenfolge, Hashes, Listen, Mengen und sortierte Mengen.
1. Der String-Typ ist ein binärer, sicherer Datentyp, der JPS-Bilder oder serialisierte Paare speichern kann:
<span style="font-family:KaiTi_GB2312;"> </span> <span style="font-family:SimSun;">a. Set name lijie ----设置name=lijie b. Setnx 设置如果name存在,则返回0,设置不成功(nx--not exit) c. Setex 指定有效期:set haircolor 10 red --10秒失效 d. Setrange name 6 gmail.com ----从第6个开始设置 e. Mset key1 lijie1 key2 lijei2 key3 lijie3 --设置多个键值对 f. get --获得字符 g. Getrange eamil 0 5 从下标为0到5的值 h. Mget--批量返回 i. Incr key6 --自增 j. Incrby key5 6--以6来进行自增 k. Decr/decrby l. Append key1 .net 在key1后面增加.net m. Strlen--返回长度</span><span style="font-family:KaiTi_GB2312;"> </span>
2. Der Hash-Typ benötigt weniger Speicher:
<span style="font-family:SimSun;">a. Hset--hset user:001 name lijie b. Hsetnx--hsetnx user:002 name lamp c. Hmset---hmset user:003 name lijie age 20 sex 1 d. Hincrby--自增 e. Hexists--判断是否存在 hexits user:002 name f. Hlen----返回所有键数量 g. Hdel--hdel user:003 age h. Hkeys --hkeys user:001 i. Hvals---hvals user:003 j. Hgetall---获取所有fileds和value</span>
3. Der Listendatentyp ist in zwei Datenstrukturen unterteilt: verknüpfte Listenstruktur und Warteschlange. Allgemeine Befehle:
<span style="font-family:SimSun;">a. Lpush--从头部压入元素:lpush list1 "hello"--栈 b. Lrang myliist 0 -1 从头部一直去不到尾部 c. Rpush---rpush list2 "hello"---队列 d. Linsert---linsert list2 before hello word e. Lset--指定下标赋值:lset list2 1 my f. Lrem--从list 中删除n个和value相同的值 g. Ipop从头弹出元素 h. Rpop 从尾部 i. Rpoplpush j. Lindex---lindex list2 2 k. Llen---返回长度</span>
4. Der Mengentyp unterstützt Vereinigung, Schnittmenge, Kreuzmenge und andere Operationen. Verwenden Sie den Befehl:
<span style="font-family:SimSun;">a. Sadd--sadd myset1 one b. Smembers--查看 c. Srem --srem myset2 "one" d. Spop--随机弹出 e. Sdiff--两个集合的差集 f. Sdiffstor---叉集存储到指定sets里面:sdiffstore myset4 myset2 myset3 g. Siner--返回交集/sinnerstore h. Sunion--并集/ i. Smove---将第一个set中元素剪切到第二个set中 smove myset1 myset8 three j. Scard --查看个数 k. Sismemeber---测试元素是不是set中元素 l. Srandmember--随机返回元素不会删除</span>
5. Sortiermenge ist eine geordnete Menge:
<span style="font-family:SimSun;">a. Zadd---zadd myzset “one” b. 取值:zrange myzet 0 -1 withscores(显示顺序) c. Zrem--zrem myzset two d. Zincrby--zincrby sset1 2 one--对顺序号进行增加 e. Zrank--返回 索引:zrank myset3 two f. Zrevrank g. Zrerange--降序排序 h. Zrangebyscore--按照范围返回:zrangebyscore sset2 2 4 with scores i. Zcount--返回数量 zcount seet2 2 4 j. Zcard --返回 k. Zremrangebyrank--按照索引删除 l. Zremrangebyscore--按照顺序删除</span>
[Java-Anwendung ]
Die Anwendung von Redis in Java erfordert die Einführung des JAR-Pakets: import redis.clients.jedis.Jedis;
Wenn Sie den Verbindungspool nicht verwenden, verwenden Sie ihn direkt im Code: Jedis client=new Jedis("ip address",6379);, der die Redis-Verbindung realisieren kann Verbindungspool, erstellen Sie eine Verbindungspoolklasse:
package com.tgb.itoo.exam.students.controller; import java.util.ResourceBundle; import org.springframework.util.Assert; import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPool; import redis.clients.jedis.JedisPoolConfig; public class JedisPoolTest { private static JedisPool jedisPool; private static JedisPoolConfig initPoolConfig(){ JedisPoolConfig jedisPoolConfig = new JedisPoolConfig(); // 控制一个pool最多有多少个可用的的jedis实例 // jedisPoolConfig.setMaxActive(1000); // 最大能够保持空闲状态的对象数 jedisPoolConfig.setMaxIdle(300); // 超时时间 jedisPoolConfig.setMaxWaitMillis(1000); // 在borrow一个jedis实例时,是否提前进行alidate操作;如果为true,则得到的jedis实例均是可用的; jedisPoolConfig.setTestOnBorrow(true); // 在还会给pool时,是否提前进行validate操作 jedisPoolConfig.setTestOnReturn(true); return jedisPoolConfig; } /** * 初始化jedis连接池 * <br>------------------------------<br> */ public static void before() { JedisPoolConfig jedisPoolConfig = initPoolConfig(); // 属性文件读取参数信息 ResourceBundle bundle = ResourceBundle.getBundle("redis_config"); String host = bundle.getString("redis.host"); int port = Integer.valueOf(bundle.getString("redis.port")); int timeout = Integer.valueOf(bundle.getString("redis.timeout")); String password = bundle.getString("redis.password"); // 构造连接池 jedisPool = new JedisPool(jedisPoolConfig, host, port, timeout, password); } public void testSet() { Jedis jedis = null; // 从池中获取一个jedis实例 try { jedis = jedisPool.getResource(); jedis.set("blog_pool", "java2000_wl"); } catch (Exception e) { // 销毁对象 jedisPool.returnBrokenResource(jedis); // Assert.fail(e.getMessage()); } finally { // 还会到连接池 jedisPool.returnResource(jedis); } } }
Pipeline Technology Application
Wenn Redis kontinuierliche Schreibvorgänge ausführt, kann das Erstellen einer Pipeline die Leistung verbessern, um die Häufigkeit des Öffnens und Schließens der Datenbank zu verringern:
Pipeline pipeline=client.pipelined(); for (TemplateDetail templateDetail : templateDetails) { List<QuestionMain> questionMains=templateDetail.getQuestionMainList(); for (QuestionMain questionMain : questionMains) { if(null!=questionMain){ String redisKey=studenInfo.getStudentId()+"_"+studenInfo.getExamination_id()+"_"+questionMain.getId()+"_exam"; try { pipeline.lpush(redisKey,JsonUtils.objectToJson(questionMain)); pipeline.expire(redisKey, 7200); } catch (IOException e) { e.printStackTrace(); } } } } pipeline.sync();//管道执行
Das Obige ist der Inhalt des MySQL Redis-Lernens und der Anwendung. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn)!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Der Prozess des Startens von MySQL in Docker besteht aus den folgenden Schritten: Ziehen Sie das MySQL -Image zum Erstellen und Starten des Containers an, setzen

Die Hauptaufgabe von MySQL in Webanwendungen besteht darin, Daten zu speichern und zu verwalten. 1.Mysql verarbeitet effizient Benutzerinformationen, Produktkataloge, Transaktionsunterlagen und andere Daten. 2. Durch die SQL -Abfrage können Entwickler Informationen aus der Datenbank extrahieren, um dynamische Inhalte zu generieren. 3.Mysql arbeitet basierend auf dem Client-Server-Modell, um eine akzeptable Abfragegeschwindigkeit sicherzustellen.

Der Schlüssel zur eleganten Installation von MySQL liegt darin, das offizielle MySQL -Repository hinzuzufügen. Die spezifischen Schritte sind wie folgt: Laden Sie den offiziellen GPG -Schlüssel von MySQL herunter, um Phishing -Angriffe zu verhindern. Add MySQL repository file: rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm Update yum repository cache: yum update installation MySQL: yum install mysql-server startup MySQL service: systemctl start mysqld set up booting

Laravel ist ein PHP -Framework zum einfachen Aufbau von Webanwendungen. Es bietet eine Reihe leistungsstarker Funktionen, darunter: Installation: Installieren Sie die Laravel CLI weltweit mit Komponisten und erstellen Sie Anwendungen im Projektverzeichnis. Routing: Definieren Sie die Beziehung zwischen der URL und dem Handler in Routen/Web.php. Ansicht: Erstellen Sie eine Ansicht in Ressourcen/Ansichten, um die Benutzeroberfläche der Anwendung zu rendern. Datenbankintegration: Bietet eine Out-of-the-Box-Integration in Datenbanken wie MySQL und verwendet Migration, um Tabellen zu erstellen und zu ändern. Modell und Controller: Das Modell repräsentiert die Datenbankentität und die Controller -Prozesse HTTP -Anforderungen.

Die Installation von MySQL auf CentOS umfasst die folgenden Schritte: Hinzufügen der entsprechenden MySQL Yum -Quelle. Führen Sie den Befehl mySQL-server aus, um den MySQL-Server zu installieren. Verwenden Sie den Befehl mySQL_SECURE_INSTALLATION, um Sicherheitseinstellungen vorzunehmen, z. B. das Festlegen des Stammbenutzerkennworts. Passen Sie die MySQL -Konfigurationsdatei nach Bedarf an. Tune MySQL -Parameter und optimieren Sie Datenbanken für die Leistung.

Laden Sie das Quellcodepaket von der offiziellen Redis -Quelle herunter, um es zu kompilieren und zu installieren, um die neueste und stabile Version zu gewährleisten, und kann auf personalisierte Weise angepasst werden. Die spezifischen Schritte sind wie folgt: Aktualisieren Sie die Liste der Softwarepakets und erstellen

Bei der Entwicklung einer kleinen Anwendung stieß ich auf ein kniffliges Problem: die Notwendigkeit, eine leichte Datenbankbetriebsbibliothek schnell zu integrieren. Nachdem ich mehrere Bibliotheken ausprobiert hatte, stellte ich fest, dass sie entweder zu viel Funktionalität haben oder nicht sehr kompatibel sind. Schließlich fand ich Minii/DB, eine vereinfachte Version basierend auf YII2, die mein Problem perfekt löste.

Aktivieren Sie Redis langsame Abfrageprotokolle im CentOS -System, um die Leistungsdiagnoseeffizienz zu verbessern. In den folgenden Schritten führen Sie die Konfiguration durch: Schritt 1: Suchen und bearbeiten Sie die Redis -Konfigurationsdatei zuerst und suchen Sie die Redis -Konfigurationsdatei, die sich normalerweise in /etc/redis/redis.conf befindet. Öffnen Sie die Konfigurationsdatei mit dem folgenden Befehl: Sudovi/etc/redis/redis.conf Schritt 2: Passen Sie die Langsame-Abfrage-Protokollparameter in der Konfigurationsdatei an, suchen Sie die folgenden Parameter: #Slow Query-Schwellenwert (MS) Slow-Log-Slow-Than10000 #Maximum der Einträge für langsame Query-Log-Logog-Logog-Len-Len-Len
