使用node_redis进行redis数据库crud操作
正在学习使用pomelo开发游戏服务器,碰到node.js操作redis,记录一下
假设应用场景是操作一个用户表的数据
引入node_redis库,创建客户端
var redis = require("redis");
var client = redis.createClient();
创建用户数据
var players = new Array();
players.push({"id":49, "name":"test player11","vip":12,"rmb":23,"psd":"password1234"});
players.push({"id":932, "name":"test player12","vip":11,"rmb":23,"psd":"password1234"});
players.push({"id":936, "name":"test player13","vip":10,"rmb":23,"psd":"password1234"});
players.push({"id":626, "name":"test player14","vip":9,"rmb":23,"psd":"password1234"});
var player;
client.get('uidx', function (err, uidx)
{
for(var i = 0; i < players.length; ++i)
{
client.incr('uidx');
uidx++;
player = players[i];
client.hmset("user:"+ uidx, player
, function (err) {
});
// client.hmset("user:"+ uidx
// ,'userId', player.id
// ,'username',player.name
// ,'password', player.psd
// , function (err) {
// });
client.hmset("userId:"+ player.id
,'uidx', uidx
, function (err) {
});
}
});
根据玩家编号查询
var playerID = 49;
client.hget('userId:'+ playerID, 'uidx', function(err, uidxQuery){
if (err)
{
console.log(err);
return;
}
else
{
//client.hget('user:'+ uidxQuery, 'username', function (err, username) {
client.hgetall('user:'+ uidxQuery, function (err1, user) {
if (err1)
{
console.log(err);
return;
}
else
{
if (user)
{
console.log(user.username);
}
else
{
console.log("no user id is " + playerID);
}
}
})
}
});
根据玩家编号更新数据
var playerID = 49;
var player = {"id":49, "name":"angle","vip":81,"rmb":41,"psd":"waitforu"};
client.hget('userId:'+ playerID, 'uidx', function(err, uidx)
{
if (err)
{
console.log(err);
return;
}
else
{
client.hmset("user:"+ uidx, player, redis.print);
}
});
根据玩家编号删除数据
var playerID = 49;
client.hget('userId:'+ playerID, 'uidx', function(err, uidx)
{
if (err)
{
console.log(err);
return;
}
else
{
client.del("user:"+ uidx);
client.del('userId:'+ playerID);
}
});
使用node_redis进行redis数据库crud操作的更多相关文章
- 【转】数据库CRUD操作
数据库CRUD操作 一.删除表 drop table 表名称 二.修改表 alter table 表名称 add 列名 数据类型 (add表示添加一列) alter table 表名 ...
- 10月16日下午MySQL数据库CRUD操作(增加、删除、修改、查询)
1.MySQL注释语法--,# 2.2.后缀是.sql的文件是数据库查询文件. 3.保存查询. 关闭查询时会弹出提示是否保存,保存的是这段文字,不是表格(只要是执行成功了表格已经建立了).保存以后下次 ...
- 数据库CRUD操作:C:create创建(添加)、R:read读取、U:update:修改、D:delete删除;高级查询
1.注释语法:--,#2.后缀是.sql的文件是数据库查询文件3.保存查询4.在数据库里面 列有个名字叫字段 行有个名字叫记录5.一条数据即为表的一行 CRUD操作:create 创建(添加)re ...
- 数据库CRUD操作以及MyBatis的配置使用
• 业务字段设计 • 数据库创建 • CRUD操作 • MyBatis集成 • 注解和XML定义 • ViewObject和DateTool • 首页开发 • 业务字段设计 实体: name: ...
- 数据库CRUD操作
CRUD操作: C:create 增加数据: insert into 表名 values('N001','汉族') 普通 insert into 表名 values('','','') 如果有自增长列 ...
- django notes 六:数据库 CRUD 操作
CRUD 也没什么可说的,django 提供了完善的 orm api, 直接用就行了. 我只贴几个列子,一看就明白了,自己再用用就熟了. # create b = Blog(name='Beatle ...
- (Windows Maven项目)Redis数据库的安装和操作实现
Redis是一个内存数据库,他会把你写入当中的数据缓存到内存中,之后会周期性的往磁盘中写入.这篇文章中介绍的是在Windows环境下利用Maven工具编译运行Java文件实现Red ...
- MySQL数据库CRUD命令用法
数据库CRUD操作即添加(Create).读取(Read).更新(Update)和删除(Delete). 1. 添加操作也称插入操作,使用Insert语句,Insert语句可以用于几种情况: 插入完整 ...
- 删库到跑路?还得看这篇Redis数据库持久化与企业容灾备份恢复实战指南
本章目录 0x00 数据持久化 1.RDB 方式 2.AOF 方式 如何抉择 RDB OR AOF? 0x01 备份容灾 一.备份 1.手动备份redis数据库 2.迁移Redis指定db-数据库 3 ...
随机推荐
- [leetcode]543. Diameter of Binary Tree二叉树直径
Given a binary tree, you need to compute the length of the diameter of the tree. The diameter of a b ...
- 搭建Eureka集群
1.pom文件 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="htt ...
- python生成验证码,文字转换为图片-乾颐堂
在58或者赶集等一些网站上经常看到手机号是图片格式,或者一些网站的验证码.这些都是动态生成的,今天我们来看一下如何用python把文字生成图片.其实今天主要借助pygame的图像渲染模块,这样比较简单 ...
- 共享内存system v(未编译)
#include <stdio.h> #include <string.h> #include <errno.h> #include <unistd.h> ...
- centos6.8下redis的安装和配置
centos6.8下redis的安装和配置 下载.安装 在redis官网可以获取到最新版本的redis 进入/usr/local/目录,执行如下命令 wget http://download.redi ...
- 2018.09.14 bzoj2982: combination(Lucas定理)
传送门 貌似就是lucas的板子题啊. 练一练手感觉挺舒服的^_^ 代码: #include<bits/stdc++.h> #define mod 10007 #define ll lon ...
- java socket 之UDP编程
一.概念 在TCP的所有操作中都必须建立可靠的连接,这样一来肯定会浪费大量的系统性能,为了减少这种开销,在网络中又提供了另外的一种传输协议——UDP,不可靠的连接(这种协议在各种聊天工具中被广泛使用) ...
- 右值引用和std::move函数(c++11)
1.对象移动 1)C++11新标准中的一个最主要的特性就是移动而非拷贝对象的能力 2)优势: 在某些情况下,从旧内存拷贝到新内存是不必要的,此时对对象进行移动而非拷贝可以提升性能 有些类如IO类或un ...
- class和struct
相同点 实际上可以使用这两个关键字定义任何一个类. 区别 1.struct的默认成员访问说明符为public,class的默认成员访问说明符为private(什么叫默认?就是没有写明public.pr ...
- 今天研究了一下手机通信录管理系统(C语言)
题目:手机通信录管理系统 一.题目要求 二.需求分析 三.设计步骤/编写代码 四.上机/运行结果 五.总结 一.题目要求 模拟手机通信录管理系统,实现对手机中的通信录进行管理操作.功能要求: (1)查 ...