正在学习使用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操作的更多相关文章

  1. 【转】数据库CRUD操作

    数据库CRUD操作 一.删除表   drop table 表名称 二.修改表 alter   table 表名称 add  列名 数据类型   (add表示添加一列) alter  table  表名 ...

  2. 10月16日下午MySQL数据库CRUD操作(增加、删除、修改、查询)

    1.MySQL注释语法--,# 2.2.后缀是.sql的文件是数据库查询文件. 3.保存查询. 关闭查询时会弹出提示是否保存,保存的是这段文字,不是表格(只要是执行成功了表格已经建立了).保存以后下次 ...

  3. 数据库CRUD操作:C:create创建(添加)、R:read读取、U:update:修改、D:delete删除;高级查询

    1.注释语法:--,#2.后缀是.sql的文件是数据库查询文件3.保存查询4.在数据库里面 列有个名字叫字段   行有个名字叫记录5.一条数据即为表的一行 CRUD操作:create 创建(添加)re ...

  4. 数据库CRUD操作以及MyBatis的配置使用

    • 业务字段设计 • 数据库创建 • CRUD操作 • MyBatis集成 • 注解和XML定义 • ViewObject和DateTool • 首页开发     • 业务字段设计 实体: name: ...

  5. 数据库CRUD操作

    CRUD操作: C:create 增加数据: insert into 表名 values('N001','汉族') 普通 insert into 表名 values('','','') 如果有自增长列 ...

  6. django notes 六:数据库 CRUD 操作

    CRUD 也没什么可说的,django 提供了完善的 orm  api, 直接用就行了. 我只贴几个列子,一看就明白了,自己再用用就熟了. # create b = Blog(name='Beatle ...

  7. (Windows Maven项目)Redis数据库的安装和操作实现

              Redis是一个内存数据库,他会把你写入当中的数据缓存到内存中,之后会周期性的往磁盘中写入.这篇文章中介绍的是在Windows环境下利用Maven工具编译运行Java文件实现Red ...

  8. MySQL数据库CRUD命令用法

    数据库CRUD操作即添加(Create).读取(Read).更新(Update)和删除(Delete). 1. 添加操作也称插入操作,使用Insert语句,Insert语句可以用于几种情况: 插入完整 ...

  9. 删库到跑路?还得看这篇Redis数据库持久化与企业容灾备份恢复实战指南

    本章目录 0x00 数据持久化 1.RDB 方式 2.AOF 方式 如何抉择 RDB OR AOF? 0x01 备份容灾 一.备份 1.手动备份redis数据库 2.迁移Redis指定db-数据库 3 ...

随机推荐

  1. 【原创】java删除未匹配的文件夹FileFileFilter,FileUtils,删除目录名字不是某个名字的所有文件夹及其子文件夹

    闲着无聊,写了个小程序. 需求: 举例: 比如我的E盘有一个test的目录,test的结构如下: 要求除了包含hello的目录不删除以外,其他的所有文件夹都要删除. 代码如下: package com ...

  2. [leetcode]215. Kth Largest Element in an Array 数组中第k大的元素

    Find the kth largest element in an unsorted array. Note that it is the kth largest element in the so ...

  3. spring-boot基础概念与简单应用

    1.spring家族 2.应用开发模式 2.1单体式应用 2.2微服务架构 微服务架构中每个服务都可以有自己的数据库  3.微服务架构应当注意的细节 3.1关于"持续集成,持续交付,持续部署 ...

  4. DB2数据库常用命令数据库学习

    DB2数据库常用命令数据库学习你可以用 get snapshot for locks on XXX 看是那个表锁了,再从相关的操作去查原因吧 db2pd -d 库名 -locks和db2pd -d 库 ...

  5. [freeCodeCamp] solution to JUGGLING ASYNC

    Here's the official solution in case you want to compare notes: var http = require('http') var bl = ...

  6. htons、htonl与字节序大小端

    判断字节序大小端code #include <stdio.h> int main() { ) == ) printf("big endian\n"); else pri ...

  7. mstsc本地驱动器

    mstsc 可以把本地驱动器 挂载到服务器上

  8. Spring Boot集成Quartz注入Spring管理的类

    摘要: 在Spring Boot中使用Quartz时,在JOB中一般需要引用Spring管理的Bean,通过定义Job Factory实现自动注入. Spring有自己的Schedule定时任务,在S ...

  9. 2018.09.30 bzoj2821: 作诗(Poetize)(分块)

    传送门 分块经典题目. 先将数列分块. 然后预处理出每两个块之间有多少个数出现了正偶数次. 这样查询的时候对于中间的完整块直接用预处理出的数组搞定. 剩下的暴力枚举求解. 代码: #include&l ...

  10. 使用async-http-client实现异步批量http请求

    最近项目中需要在微服务中调用rest接口,而且需要调用得次数很多,所以同步得http客户端已经不满足要求,在网上查阅资料后发现了async-http-client这个包得性能不错,所以写了个demo测 ...