达梦新云数据库(For Redis)使用入门

        达梦新云数据库(For Redis)(简称DMNCDB)是一款深度兼容原生Redis的Key-Value缓存数据库,其在并发访问性能上相比原生Redis具有明显优势,可满足业务系统对具有高性能、高可靠性、弹性扩展、数据强一致等特性的Key-Value系统的需求,能够无缝替换原生Redis。

1、Reids介绍

        Redis(Remote Dictionary Server )即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。目前,VMware在资助着Redis项目的开发和维护。同时,Redis也已经成为应用最为广泛的缓存数据库。DMNCDB深度兼容原生Redis,因此本文的程序样例可以同时在DMNCDB和Redis上运行。

2、DMNCDB的安装和启动

       用户可以在达梦公司官方网站下载安装DMNCDB的试用版。安装完毕后,用户进入安装目录的bin子目录,然后启动dmncdb_redis进程即可。在安装目录中的readme.txt中也有注册服务和启动dmncdb_redis进程的方法,如图2.1所示。

图2.1 DMNCDB安装简要说明

3、DMNCDB的使用

        DMNCDB是一款深度兼容Redis的键值型缓存数据库,因此可以通过原生Redis的接口对DMNCDB进行连接和操作。本文将通过Golang语言和开源的连接工具“garyburd/redigo/redis”演示DMNCDB相关功能。

3.1 连接数据库

        首先,调用redis.Dail()方法连接数据库,该方法会返回一个连接结构体,这个连接结构体会在后续操作中使用。DMNCDB的默认端口是6379,详细代码如表3.1所示。最终没有打印错误,代表连接成功。

import (
	"fmt"
	
	"github.com/garyburd/redigo/redis"
)

func main() {
	c, err := redis.Dial("tcp", "127.0.0.1:6379")
	if err != nil {
		fmt.Println(err)
		return
	}
	fmt.Println(c)
}

 表3.1 连接到DMNCDB

3.2 数据库读写

        3.1节中连接DMNCDB后会返回一个连接结构体,通过调用连接结构体的Do()接口便可以进行增删查等操作。Do()接口通常第一个入参是操作指令,第二个入参是key值,而第三个或更往后的入参则是value的值。本文先演示了最简单的操作方式,通过Do()接口的“Set”操作给key1存储值为556的整数类型数据,之后通过Do()接口的“Get”操作获取数据,并断言为整数类型进行输出。详细代码如表3.2所示,执行结果如图3.3所示。

func main() {
	c, err := redis.Dial("tcp", "127.0.0.1:6379")
	if err != nil {
		fmt.Println(err)
		return
	}
	//fmt.Println(c)

	_, err = c.Do("Set", "key1", 556) //redis写入数据
	if err != nil {
		fmt.Println(err)
		return
	}
	r, err := redis.Int(c.Do("Get", "key1")) //类型断言接口
	if err != nil {
		fmt.Println(err)
	}
	fmt.Println(r)
}

表3.2 读写DMNCDB

图3.3 查询结果

3.3 哈希表类型的读写

        DMNCDB支持和Redis相同的哈希表结构数据的存储和读取。在Do()方法的第一个入参设置为“HMSet”或“HMGet”即可,第二个入参即哈希表的名称,之后入参的奇数列就是哈希表的键,偶数列就是哈希表的值。如下表3.4所示,往名为“user01”的哈希表中插入“name”为“john”,“age”为“18”的数据,并且通过“HMGet”进行获取,执行结果如图3.5所示。

func main(){
    c, err := redis.Dial("tcp", "127.0.0.1:6379")
	if err != nil {
		fmt.Println(err)
		return
	}
	//fmt.Println(c)
    //修改为HMSet
	_, err = c.Do("HMSet", "user01", "name", "john", "age", 18)
	if err != nil {
		fmt.Println(err)
        return
	}
 
	//redis.String 表示为一个组,用于接收多个数据,形式是一个切片
	r, err := redis.Strings(c.Do("HMGet", "user01", "name", "age"))
	if err != nil {
		fmt.Println(err)
        return
	}
 
	//上面返回的是一个集合,类似于切片,我们通过for-range去遍历切片
	for i, v := range r {
		fmt.Printf(map的内容为[%d]=%s\n", i, v)
	}
}

表3.4 读写哈希表

图3.5 读写哈希表结果

3.4 集合类型的读写

        DMNCDB支持和Redis相同的集合类型的数据的存储和读取。在Do()方法的第一个入参设置为“SAdd”或“Smembers”即可,第二个入参即集合的名称。在“SAdd”时第三个以及之后的入参的即为集合的内容。如下表3.6,往名为“user02”的集合中插入一串的数据。之后通过“Smemebers”进行获取,结果如图3.7所示,可以正常获取。

func main(){
    c, err := redis.Dial("tcp", "127.0.0.1:6379")
	if err != nil {
		fmt.Println(err)
		return
	}
	//fmt.Println(c)
    // 为set user02添加值
	_, err = c.Do("SAdd", "user02", "jeffery", "johnson",”age”,18)
	if err != nil {
		fmt.Println(err)
	}

	//名称 字符串
	r1, err := redis.String(c.Do("Smembers", "user02"))
	if err != nil {
		fmt.Println(err)
	}
	fmt.Printf("user02的name为:%v\n", r1)
//上面返回的是一个集合,类似于切片,我们通过for-range去遍历切片
for i, v := range r {
   fmt.Printf("map的内容为[%d]=%s\n", i, v)
}

表3.6 读写集合

图3.7 读写集合结果 

3.5 列表类型的读写
        DMNCDB支持和Redis相同的列表类型的存储和读取。在Do()方法的第一个入参设置为“LPush”或“RPush”即可往列表的左侧或者右侧添加数据,第二个入参即列表的名称,第三个往后的入参的即为列表需要被添加的值。在Do()方法设置第一个入参为“LRange”或“RRange”时,即可从左侧或者右侧获取列表结果。如下表3.8,往名为“user03”的列表中从右侧插入“johonsn”、“jeffery”和“daniel”的数据。之后通过“LRange”从“user03”的左侧获取2个单位的数据,执行结果如图3.9所示。

func main(){
    c, err := redis.Dial("tcp", "127.0.0.1:6379")
	if err != nil {
		fmt.Println(err)
		return
	}
	//fmt.Println(c)
    // 从右侧插入
    _, err = c.Do("RPush", "user03", "johnson", "jeffery", "daniel")
	if err != nil {
		fmt.Println(err)
		return
	}
	r, err := redis.Strings(c.Do("LRange", "user03", 0, 1))
	if err != nil {
		fmt.Println(err)
		return
	}
	for i, v := range r {
		fmt.Printf("user03的数据内容为: %v", r)博
	}
}

 表3.8 读写列表

图3.9 读写列表结果

4、总结

    由本文以上演示内容,展示了达梦缓存数据库DMNCDB是可以深度兼容原生Redis的,希望可以对读者带来帮助。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
vbs是一种用于编写Windows操作系统批处理脚本的编程语言,它可以用来自动化执行某些任务或操作。WPS新云是WPS Office套件中的一项云服务,它提供了在线文档编辑、存储和共享的功能。那么,如何使用vbs脚本来进行WPS新云下载呢? 首先,我们需要使用vbs的Shell对象来执行一些命令。我们可以使用Shell对象的常用方法来进行一些操作,比如运行程序、执行命令等等。通过vbs脚本,我们可以模拟用户在WPS新云客户端上执行的操作,从而实现文件或文档的下载。 在编写vbs脚本时,我们可以使用WScript对象来创建一个Shell对象,并使用WScript对象的CreateObject方法来创建或引用其他的COM组件。WScript对象还提供了一些方便的方法,比如Quit方法可以退出当前的脚本。 接下来,我们可以使用Shell对象的Run方法来执行WPS新云客户端的命令行参数。通过命令行参数,我们可以指定需要下载的文件或文档的路径,并设置其他一些参数,比如下载文件的保存路径、下载文件的名称等等。 在执行完下载文件的命令后,我们可以使用vbs脚本的消息框来显示下载的结果或者进度,以便给用户一些反馈。 总之,使用vbs脚本来进行WPS新云下载可以通过模拟用户操作,实现自动化下载文件或文档的功能。通过编写相应的vbs脚本,我们可以在WPS新云客户端上实现一些自动下载的操作,提高工作效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值