当前位置: 首页 > news >正文

加拿大购物网站排名基于wordpress门户网站

加拿大购物网站排名,基于wordpress门户网站,广州好的网站建设,五华县建设局网站文章目录 一、redis的学习与使用1.Redis的基本介绍2.Redis的安装下载安装包即可3.Redis的基本使用1#xff09;Redis的启动#xff1a;2#xff09;Redis的操作的三种方式3#xff09;说明#xff1a;Redis安装好后#xff0c;默认有16个数据库#xff0c;初始默认使用0… 文章目录 一、redis的学习与使用1.Redis的基本介绍2.Redis的安装下载安装包即可3.Redis的基本使用1Redis的启动2Redis的操作的三种方式3说明Redis安装好后默认有16个数据库初始默认使用0号库编号0...15 4.Redis的五大数据类型和CRUD操作1Redis的五大数据类型是**String(字符串)**、**Hash(哈希)**、**List(列表)**、**Set(集合)**和**zset(sorted set :有序集合)**2String3Hash4List5Set 二、go操作redis1、安装第三方开源的redis库2、使用go语言开始进行操作1操作string2操作hash3批量操作Set/Get数据4给数据设置有效时间5课堂练习6Redis连接池 一、redis的学习与使用 1.Redis的基本介绍 1.Redis是NoSQL数据库不是传统的关系型数据库 官网: http://redis.io/ 和http://www.redis.cn/ 2.RedisREmote DIctionary Server(远程字典服务器)Redis的性能非常高单机可以达到15W gps.通常适合做缓存也可以持久化 3是完全开源免费的高性能的(key/value)分布式内存数据库基于内存运行并支持持久化Nosql数据库是最热门的NoSql数据库之一也称为数据结构服务器 2.Redis的安装下载安装包即可 网址https://github.com/tporadowski/redis/releases 下载好后的目录结构其中有两个是redis的关键文件 redis客户端文件redis-cli.exe redis服务器文件redis-server.exe redis结构示意图 3.Redis的基本使用 1Redis的启动 启动Redis的服务器端程序(redis-server.exe),直接双击即可运行 2Redis的操作的三种方式 说明 1使用telnet操作Redis 2使用redis-cli.exe操作Redis,双击即可进入客户端 3Golang操作redisredis基本指令 http://redisdoc.com(已失效) 3说明Redis安装好后默认有16个数据库初始默认使用0号库编号0…15 -1.添加key-val [set] -2.查看当前redis的所有key [key * 获取key对应的值[get key] -3.切换redis数据库[select index] -4.如何查看当前数据库的key-val数量[dbsize] -5.清空当前数据库的key-val和清空所有数据库的key -val[flush db flushall] 4.Redis的五大数据类型和CRUD操作 1Redis的五大数据类型是String(字符串)、Hash(哈希)、List(列表)、Set(集合)和zset(sorted set :有序集合) 2String (字符串)-介绍 -1.string是redis的基本类型一个key对应一个value -2.string是类型是二进制安全的。除普通的字符串外也可以存放图片数据。 -3.redis中字符串value最大值是512M 举例存放一个地址信息: address北京天安门 说明 key :address value : 北京天安门 127.0.0.1:6379 set address beijing OK 127.0.0.1:6379 get address beijing 127.0.0.1:6379 -4.String字符串-CRUD 举例说明Redis的String字符串的CRUD操作 set如果存在就相当于修改不存在就是添加 /get/del 127.0.0.1:6379 del address (integer) 1 127.0.0.1:6379 get address (nil) 127.0.0.1:6379-5.String(字符串)-使用细节和注意事项 setex(set with expire)键秒值 127.0.0.1:6379 setex mess01 10 hello,you OK 127.0.0.1:6379 get mess01 hello,you 127.0.0.1:6379 get mess01 hello,you 127.0.0.1:6379 get mess01 hello,you 127.0.0.1:6379 get mess01 hello,you 127.0.0.1:6379 get mess01 (nil) //mess01有效期就10秒10秒后就销毁 127.0.0.1:6379mset[同时设置一个或多个key-value对] ​ MSET key vlaue [key value …] ​ 同时设置一个或多个key-value对 ​ 如果某个给定key值已经存在那么MSET会用新值覆盖原来的旧值 127.0.0.1:6379 mset worker01 tom worker02 scott OK 127.0.0.1:6379 get worker01 tom 127.0.0.1:6379 get worker02 scott 127.0.0.1:6379 mget worker01 worker02 1) tom 2) scott3Hash (哈希类似于golang里的Map)-介绍 Redis hash是一个键值对象集合。var user1 map[string]string Redis hash是一个string类型的field和value的映射表hash特别适合用于存储对象 举例。存放一个User信息 user1 name 张三 age 10 说明 key : user1 name 张三 和 age 30 就是两对 field-value实操演示添加user的信息案例(name age job) 127.0.0.1:6379 hset user1 name smith (integer) 1 127.0.0.1:6379 hset user1 age 30 (integer) 1 127.0.0.1:6379 hset user1 job golang coder (integer) 1 127.0.0.1:6379 hget user1 name smith 127.0.0.1:6379 hget user1 age 30 127.0.0.1:6379 hget user1 job golang coder 127.0.0.1:6379Hash使用细节和注意事项 在给user设置name和age时前面我们是一步一步设置使用hmset和hmget可以一次性来设置多个field的值和返回多个field的值 127.0.0.1:6379 hmset user2 name jerry age 110 job java coder OK 127.0.0.1:6379 hmget user2 name age job 1) jerry 2) 110 3) java coder 127.0.0.1:6379hlen统计一个hash有几个元素 127.0.0.1:6379 hlen user2 (integer) 3 127.0.0.1:6379hexists key field 查看哈希表key中给定域field是否存在 127.0.0.1:6379 hexists user2 name (integer) 1 127.0.0.1:63794List -1.(列表)-介绍 列表是简单的字符串列表按照插入顺序排序你可以添加一个元素到列表头部左边或者尾部右边 List的本质是一个链表List的元素的有序的元素的值可以重复 举例存放多个地址信息 city 北京 天津 上海 说明 北京 天津 上海 就是三个元素127.0.0.1:6379 lpush city beijing shanghai tianjing (integer) 3 127.0.0.1:6379 lrange city 0 -10表示开头 -1表示尾部 1) tianjing 2) shanghai 3) beijing 127.0.0.1:6379-2.关于list的基本命令介绍 lpush:从左边插入数据 rpush:从右边插入数据 lrange: 用法 lrange key start stop :返回列表key中指定区间内的元素区间以偏移量start和stop指定,下标(index)参数start和stop都是以0为底也就是说以0表示列表的第一个元素以1表示列表的第二个元素以此类推。你也可以使用函数负数下标以-1表示列表的最后一个元素-2表示列表的倒数第二个元素以此类推 lpop :从我们列表的左边弹出一个数据 rpop :从我们列表的右边弹出一个数据 del : 删掉这个列表 实战演示 127.0.0.1:6379 lpush herolist aa bb cc (integer) 3 127.0.0.1:6379 lrange herolist 0 -1 1) cc 2) bb 3) aa 127.0.0.1:6379 rpush herolist dd eee (integer) 5 127.0.0.1:6379 lrange herolist 0 -1 1) cc 2) bb 3) aa 4) dd 5) eee 127.0.0.1:6379 lpop herolist cc 127.0.0.1:6379 lrange herolist 0 -1 1) bb 2) aa 3) dd 4) eee 127.0.0.1:6379 rpop herolist eee 127.0.0.1:6379 lrange herolist 0 -1 1) bb 2) aa 3) dd 127.0.0.1:6379 del herolist (integer) 1 127.0.0.1:6379 lrange herolist 0 -1 (empty list or set) 127.0.0.1:6379 -3.List-使用细节和注意事项 1index按照索引下标获得元素从左到右编号从0开始 2LLEN key 返回列表key的长度如果key不存在则key被解释为一个空列表返回0 3List的其他说明 List数据可以从左或者右插入添加如果值全移除对应的键也就消失了 5Set (集合)-介绍 Redis的Set是string类型的无序集合。 底层是HashTble数据结构Set也是存放很多字符串元素字符串元素是无序的而且元素的值不能重复 举例存放多个邮件列表信息 email sgggsohu.com tomsohu.com 说明 key :email sgggsohu.com tomsohu.com 这两个就是元素 关于set的基本命令 sadd :添加元素 smembers 取出所有值 sismember 判断是否存在该成员 srem 删除指定值 127.0.0.1:6379 sadd emails tomsohu.com jackqq.com (integer) 2 127.0.0.1:6379 smembers emails 1) tomsohu.com 2) jackqq.com 127.0.0.1:6379 sadd emails kkyy.com uuqq.com (integer) 2 127.0.0.1:6379 smembers emails 1) uuqq.com 2) tomsohu.com 3) jackqq.com 4) kkyy.com 127.0.0.1:6379 sadd emails jackqq.com (integer) 0 //0表示添加失败因为set的元素是不可以重复的 127.0.0.1:6379 sismember emails tomsohu.com (integer) 1 //查看set里面是否含有tomsouhu.com这个元素 1代表存在 0代表不存在 127.0.0.1:6379 sismember emails tom~sohu.com (integer) 0 127.0.0.1:6379 srem emails tomsohu.com (integer) 1 //演示删除元素 127.0.0.1:6379 smembers emails 1) kkyy.com 2) uuqq.com 3) jackqq.com 127.0.0.1:6379 二、go操作redis 1、安装第三方开源的redis库 1使用第三方开源的redis库github.com/garyburd/redigo/redis 2在使用redis前先安装第三方Redis库在GOPATH路径下执行安装指令 D:\myfile\go\projectgo get github.com/garyburd/redigo/redis3安装之后可以看到如下包 特别说明在安装Redis 库之前确保已经安装并配置了git,因为是从github上下载安装库的需要使用到git 2、使用go语言开始进行操作 Set/Get接口 1操作string 说明通过golang添加和获取key-value【比如name-tom~】 package main import (fmtgithub.com/garyburd/redigo/redis )func main() {//通过go向redis写入数据和读取数据//1.连接到redisconn,err : redis.Dial(tcp,127.0.0.1:6379)if err ! nil {fmt.Println(redis.Dial err,err)return}defer conn.Close() //关闭//2.通过go向redis写入数据string [key-val]_, errconn.Do(Set,name,tomjerry毛毛和老鼠)if err ! nil {fmt.Println(set err,err)return}//3.通过go向redis读入数据string [key-val]r, err :redis.String(conn.Do(Get,name))if err ! nil {fmt.Println(Get err,err)return}//返回的r是interfacce{}//因为name对应的值是字符串因此我们需要转换[在一开始就用redis提供的方法进行转换]//nameString : r.(string) errofmt.Println(操作成功!,r) //操作成功! tomjerry毛毛和老鼠 }2操作hash 说明通过Golang对redis操作Hash数据类型 package main import (fmtgithub.com/garyburd/redigo/redis ) func main() {//通过go向redis写入数据和读取数据//1.连接到redisconn,err : redis.Dial(tcp,127.0.0.1:6379)if err ! nil {fmt.Println(redis.Dial err,err)return}defer conn.Close() //关闭//2.通过go向redis写入数据string [key-val]//写入名字_, errconn.Do(HSet,user01,name,john)if err ! nil {fmt.Println(hset err,err)return}//写入age_, errconn.Do(HSet,user01,age,10)if err ! nil {fmt.Println(hset err,err)return}//3.通过go向redis读入数据string [key-val]r1, err :redis.String(conn.Do(HGet,user01,name))if err ! nil {fmt.Println(hGet err,err)return}r2, err :redis.Int(conn.Do(HGet,user01,age))if err ! nil {fmt.Println(hGet err,err)return}fmt.Printf(操作成功! r1%v,r2%v\n,r1,r2) //操作成功! r1john,r210 }3批量操作Set/Get数据 说明通过Golang对Redis操作一次操作可以Set/Get多个key-val数 package main import (fmtgithub.com/garyburd/redigo/redis ) func main() {//通过go向redis写入数据和读取数据//1.连接到redisconn,err : redis.Dial(tcp,127.0.0.1:6379)if err ! nil {fmt.Println(redis.Dial err,err)return}defer conn.Close() //关闭//2.通过go向redis写入数据string [key-val]//写入名字和年龄_, errconn.Do(HMSet,user02,name,tom,age,19)if err ! nil {fmt.Println(HMSet err,err)return}//3.通过go向redis读入数据string [key-val]r, err :redis.Strings(conn.Do(HMGet,user02,name,age))if err ! nil {fmt.Println(hGet err,err)return}// fmt.Printf(r%v\n,r) //r[tom 19]for i,v : range r {fmt.Printf(r[%d]%v\n,i,v)}}4给数据设置有效时间 说明通过golang对redis操作给key-value设置有效时间 core code //给name数据设置有效时间10s _,err c.Do(expire,name,10)5操作List 说明通过golang对redis操作list数据类型 corecode _,errc.Do(lpush,herolist,no1.宋江,30,no2.吴用,28)5课堂练习 package main import (fmtgithub.com/garyburd/redigo/redis )func main() {var names stringvar ages intvar skills string//1.连接到redisconn,err : redis.Dial(tcp,127.0.0.1:6379)if err ! nil {fmt.Println(redis.Dial err,err)return}defer conn.Close() //关闭fmt.Println(请输入names: )fmt.Scan(names)fmt.Println(请输入ages: )fmt.Scan(ages)fmt.Println(请输入skills: )fmt.Scan(skills)//go操作redis进行写的操作_, errconn.Do(HMSet,monster,name,names,age,ages,skill,skills)if err ! nil {fmt.Println(HMSet err,err)return}//go操作redis进行读的操作r, err :redis.Strings(conn.Do(HMGet,monster,name,age,skill))if err ! nil {fmt.Println(HMGet err,err)return}for i,v : range r{fmt.Printf(r[%d]%v\n,i,v)}fmt.Println(操作完成)}6Redis连接池 说明通过Golang对redis的操作还可以通过redis连接池流程如下 -1.事先初始化一定数量的连接放入到连接池 -2.当go需要操作redis时直接从redis连接池取出连接即可 -3.这样可以节省临时获取redis连接的时间从而提高效率 core code var pool *redis.Pool pool redis.Pool{MaxIdle:8MaxActive:0IdleTimeout:100Dial:func()(redis.Conn,error){return redis.Dial(tcp,localhost:6379)}, } c :pool.Get()-4.示意图 package main import (fmtgithub.com/garyburd/redigo/redis ) //定义一个全局的pool var pool *redis.Pool//当启动程序时就初始化连接池 func init() {pool redis.Pool{MaxIdle:8, //最大空闲连接数MaxActive:0,//表示和数据库的最大连接数0表示没有限制IdleTimeout:100,//最大空闲时间Dial:func()(redis.Conn,error){//初始化连接的代码。连接哪个ipreturn redis.Dial(tcp,localhost:6379)},} } func main() {//先从pool池取出一个连接conn : pool.Get()defer conn.Close()_, err :conn.Do(Set,name,汤姆猫~~)if err ! nil {fmt.Println(conn.Do err,err)return}//取出r,err :redis.String(conn.Do(Get,name))if err ! nil {fmt.Println(conn.Do err,err)return}fmt.Println(r,r)}
http://www.dnsts.com.cn/news/40870.html

相关文章:

  • 拼多多网站更改wordpress主题语言
  • 如何学网站开发营销建设网站
  • ppt模版模板免费网站自己架设网站备案
  • 一级域名网站里有二级域名品牌的佛山网站建设价格
  • 设计招聘专业网站中国机械网官网
  • 宣传网站有哪些如何创建链接
  • 高手做网站阳江市最大人才招聘网
  • 宁波网站建设软件开发江门网站如何制作
  • ios wordpress连接站点基础网站怎么做
  • 什么网站做唱歌主播wordpress 代码生成器
  • 酷炫网站欣赏网站建设的评分细则
  • 西宁市城乡规划建设局网站网站升级建设方案
  • 中山网站建设乐云seo模板中心中国网站域名备案管理系统
  • 重庆网络建站带flash的网站
  • 公司网站建设方案设计网络营销方案分享
  • 代做安装预算的网站免费空间已经注册 怎么做网站
  • 天津七七一网站建设有限公司怎么样万户网站做的怎样
  • 杭州高端网站建设公司哪家好手表二级市场网站
  • 优化网站排名解析推广wordpress来源
  • 网上购书的网站开发的意义自己做网站视频教学
  • 河南郑州app建设网站互联网保险和线下保险的优缺点
  • 10大免费软件下载网站推荐网站快速排名的方法
  • 饰品网站建设东莞东坑网站设计
  • 怎样做网站优化 知乎名创 网站建设
  • 浏阳做网站的公司价格推广引流渠道平台
  • 伊春网站推广广东省建设部网站
  • flash 网站 模板获取当前分类的父级wordpress
  • 做坏事小视频网站大型门户网站建设费用
  • 网站权重查询工具罗田做网站
  • 网站开发人员 把网站注销制作网站规划书