Go语言之进阶篇操作redis
1、windows安装redis
软件包下载地址:
https://github.com/MicrosoftArchive/redis/releases
1.1、安装--->下一步--->到完成。
1.2、设置redis密码。
C:\Program Files\Redis
#编辑这个文件:
redis.windows-service.conf
找到含有requirepass字样的地方,追加一行,输入requirepass 123456
备注 :做实验我们就不设置密码。
点击“开始”>右击“计算机”>选择“管理”。在左侧栏中依次找到并点击“计算机管理(本地)”>服务和应用程序>服务。再在右侧找到Redis名称的服务,重新启动服务。
最后来测试一下Redis是否正常提供服务。进入Redis的目录,cd C:\Program Files\Redis。输入redis-cli并回车。(redis-cli是客户端程序)如图正常提示进入,并显示正确端口号,则表示服务已经启动。
C:\Users\560140>cd "c:\Program Files\Redis" c:\Program Files\Redis>redis-cli
127.0.0.1:6379> auth 123456 #输入密码
OK
127.0.0.1:6379>
2、安装redis驱动
go get github.com/monnand/goredis
3、源码参考:
https://github.com/monnand/goredis/blob/master/redis.go
4、操作redis
示例:
package main import (
"fmt" "github.com/monnand/goredis"
) func main() {
var client goredis.Client
client.Addr = "127.0.0.1:6379"
err := client.Set("test", []byte("hello beifeng"))
if err != nil {
panic(err)
} res, err := client.Get("test")
if err != nil {
panic(err)
} fmt.Println(string(res)) //test hmset
f := make(map[string]interface{})
f["name"] = "nulige"
f["age"] = "30"
f["sex"] = "male" err = client.Hmset("test_hash", f)
if err != nil {
panic(err)
} //test zset
_, err = client.Zadd("test_zset", []byte("beifeng"), 100)
if err != nil {
panic(err)
}
}
执行结果:
#启动redis命令行
C:\Users\560140>cd "c:\Program Files\Redis"
c:\Program Files\Redis>redis-cli #test hmset
127.0.0.1:6379> get test
"hello beifeng" 127.0.0.1:6379> type test_hash
hash #test zset
127.0.0.1:6379> get test_zset
(error) WRONGTYPE Operation against a key holding the wrong kind of value
127.0.0.1:6379> hgetall test_hash
1) "name"
2) "nulige"
3) "age"
4) "30"
5) "sex"
6) "male" #查看类型
127.0.0.1:6379> type test_zse
none 127.0.0.1:6379> zrange test_zset 0 -1
1) "beifeng"
127.0.0.1:6379> zrange test_zset 0 -1 withscores
1) "beifeng"
2) "100"
Go语言之进阶篇操作redis的更多相关文章
- go语言之行--golang操作redis、mysql大全
一.redis 简介 redis(REmote DIctionary Server)是一个由Salvatore Sanfilippo写key-value存储系统,它由C语言编写.遵守BSD协议.支持网 ...
- go语言之进阶篇接口转换
1.go语音之进阶篇 示例: package main import "fmt" type Humaner interface { //子集 sayhi() } type Pers ...
- go语言之进阶篇文件常用操作接口介绍和使用
一.文件常用操作接口介绍 1.创建文件 法1: 推荐用法 func Create(name string) (file *File, err Error) 根据提供的文件名创建新的文件,返回一个文件对 ...
- go语言之进阶篇字符串操作常用函数介绍
下面这些函数来自于strings包,这里介绍一些我平常经常用到的函数,更详细的请参考官方的文档. 一.字符串操作常用函数介绍 1.Contains func Contains(s, substr st ...
- go语言之进阶篇成员操作
1.成员操作 示例: package main import "fmt" type Person struct { name string //名字 sex byte //性别, ...
- go语言之进阶篇通过select实现斐波那契数列
一.select作用 Go里面提供了一个关键字select,通过select可以监听channel上的数据流动. select的用法与switch语言非常类似,由select开始一个新的选择块,每个选 ...
- go语言之进阶篇正则表达式
正则表达式是一种进行模式匹配和文本操纵的复杂而又强大的工具.虽然正则表达式比纯粹的文本匹配效率低,但是它却更灵活.按照它的语法规则,随需构造出的匹配模式就能够从原始文本中筛选出几乎任何你想要得到的字符 ...
- Go语言之进阶篇mysql增 删 改 查
一.mysql操作基本语法 1.创建名称nulige的数据库 CREATE DATABASE nulige DEFAULT CHARSET utf8 COLLATE utf8_general_ci; ...
- Go语言之进阶篇获取文件属性
1.获取文件属性 示例: get_file_attribute.go package main import ( "fmt" "os" ) func main( ...
随机推荐
- css 控制文字超出时显示省略号
不多说,直接看代码吧: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> & ...
- oi初级数学知识
一.先是一些整除的性质: •整除:若a=bk,其中a,b,k都是整数,则b整除a,记做b|a. •也称b是a的约数(因数),a是b的倍数 •显而易见的性质: •1整除任何数,任何数都整除0 •若a|b ...
- 21.python中的闭包和装饰器
python中的闭包从表现形式上定义(解释)为:如果在一个内部函数里,对在外部作用域(但不是在全局作用域)的变量进行引用,那么内部函数就被认为是闭包(closure). 以下说明主要针对 python ...
- maven -- 问题解决(四)警告Classpath entry org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER will not be exported or published
警告:Classpath entry org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER will not be exported or published. Run ...
- Xtreme9.0 - Taco Stand 数学
Taco Stand 题目连接: https://www.hackerrank.com/contests/ieeextreme-challenges/challenges/taco-stand Des ...
- HDU 5813 Elegant Construction 构造
Elegant Construction 题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=5813 Description Being an ACMer ...
- ELASTIC的备份与恢复
前言 elasticsearch官方并没有提供合适的备份工具,然而生产场景中备份却是的确需要的. 本文介绍了使用自己写的php脚本以及第三方工具来进行索引的备份,恢复以及删除等操作. 全量备份 ela ...
- Mac下配置Apache服务器
有的时候,我们需要在内网工作组中分享一些文件或是后台接口没有及时给出,你又想要模拟真实数据,直接在项目里创建plist也可以做到这种需求,但难免让工程变得冗余且看起来比较Low.这个时候就看出配置本地 ...
- NodeJS下的Mongodb操作
今天用Node写一个小程序中需要用到数据库操作,试用了一下,发现官方的驱动已经非常好用了,也支持async. 一个简单的实例如下: const MongoClient = require('mongo ...
- HDU 3970 Paint Chain (博弈,SG函数)
Paint Chain Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total ...