Maison > Questions et réponses > le corps du texte
要将关系数据库中表的一行记录保持到redis中,在redis里要采用哪种数据类型,怎么保存?希望能举个具体示例
伊谢尔伦2017-04-24 09:12:58
Sérialisez l'objet Java et stockez-le sous forme de tableau d'octets
PHP中文网2017-04-24 09:12:58
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).
怪我咯2017-04-24 09:12:58
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é
PHP中文网2017-04-24 09:12:58
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
.