redis中如何保持关系数据库里的一行记录
高洛峰
高洛峰 2017-04-24 09:10:58
0
4
628

要将关系数据库中表的一行记录保持到redis中,在redis里要采用哪种数据类型,怎么保存?希望能举个具体示例

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

répondre à tous(4)
伊谢尔伦

Sérialisez l'objet Java et stockez-le sous forme de tableau d'octets

洪涛

Vous pouvez utiliser directement la clé primaire de la base de données comme redis, comme <YOUR_PREFIX><PRIMARY_KEY> Pour le contenu, par exemple, vous pouvez directement enregistrer json dans la table de données

.

Ensuite, il y a la question de la cohérence

  • La première solution consiste à utiliser redis comme cache. Lors de la lecture des enregistrements en fonction de la clé primaire, vérifiez d'abord s'il y en a un dans redis (get). Sinon, récupérez-le dans la base de données et définissez redis sur. en même temps pour la valeur correspondante dans l'enregistrement, il est préférable de définir un délai d'expiration pour l'enregistrement lors du réglage, de sorte que même si les données sales ne sont pas activement effacées, la nouvelle valeur peut être automatiquement obtenue via le mécanisme d'expiration après. une période de temps. Lorsque les enregistrements de la table de données changent, supprimez simplement les enregistrements directement dans Redis. C'est une approche plus sûre que je recommande.

  • La deuxième option consiste à gérer toutes les lectures et écritures de données directement dans Redis, et à réécrire les données dans la base de données uniquement à des moments précis. Concernant le mécanisme de réécriture, vous pouvez envisager d'utiliser une file d'attente de messages pour réécrire les données de manière asynchrone à chaque fois que Redis est modifié. Vous pouvez utiliser un horodatage pour vous assurer que les données réécrites dans la base de données sont les plus récentes ou vous pouvez envisager d'utiliser la notification de Redis ; mécanisme de synchronisation d'expiration (mais ce mécanisme n'est pas garanti, voir http://redis.io/topics/notifications).

刘奇

C'est assez gênant
Vous pouvez vous référer à cet article
http://www.cnblogs.com/enjiex/p/3618546.html

Il peut prendre en charge des ajouts, suppressions, modifications et requêtes simples, et peut être combiné avec des transactions Redis pour implémenter des fonctions simples
Mais il est très difficile d'implémenter les opérations SQL de base de rdbms

En résumé

洪涛

Lisez docilement le manuel. Les réponses que les autres vous donneront ne seront pas utiles. Le manuel l'explique très clairement. Après avoir lu le manuel, considérez les scénarios d'application. Lorsqu'il s'agit de la phase pratique, il existe des tiers encapsulés. API qui peuvent être appelées. En fait, il en va de même pour l'écrire vous-même. Commencez à écrire à partir de sockets et vous aurez une nouvelle compréhension des protocoles, des langages et des réseaux

.
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal