![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据库
文章平均质量分 79
y果子
愿你成为自己的太阳,无需借助谁的光
展开
-
Redis分布式锁原理
业务背景:后台定时任务刷新Redis的数据到数据库中,有多台机器开启了此定时同步的任务,但是需要其中一台工作,其他的作为备用,提高可用性。使用Redis分布式锁进行限制,拿到锁的机器去执行具体业务,拿不到锁的继续轮询。分布式锁原理分布式锁:当多个进程不在同一个系统中,多个进程共同竞争同一个资源,用分布式锁控制多个进程对资源的互斥访问。采用Redis服务器存储锁信息(即SET一个Key表示已加锁),可以实现多进程的并发读锁的状态,如果没有锁,则只允许一个进程加锁。Redis分布式锁实现的关键点:原创 2021-12-15 14:06:21 · 5450 阅读 · 1 评论 -
xorm 常见问题
如何使用Like:engine.Where("column like ?", "%"+char+"%").Find怎么同时使用xorm 的tag 和json 的tag ?使用空格:type User struct { Name string `json:"name" xorm:"name"`}struct 里面包含bool 类型,为什么它不能作为条件也没法用Update 更新?默认bool 类型因为无法判断是否为空,所以不会自动作为条件也不会作为Update 的内容。可以使用U.原创 2021-01-21 15:49:38 · 2158 阅读 · 0 评论 -
Mac 环境 redis哨兵模式配置
Sentinel 哨兵中的应用:Sentinel服务器与Master服务器/Slave服务器之间的订阅发布系统是Sentinl监控过程的一个重要环节,通过订阅发布系统达到监控服务器状态的作用。其运行原理与上面的客户端服务器之间的订阅机制无太大区别,都是基于网络连接的数据传输。Sentinel之间的通信也是通过Sentinel与服务器间的这个订阅发布系统实现的,一个Sentinel通过服务器的频道发送信息,其他Sentinel就会接收到。Redis哨兵模式(sentinel)(主从复制、读写分离、主从切换原创 2020-12-16 11:39:07 · 1112 阅读 · 0 评论 -
sql 语句的执行和解析顺序
数据库是java开发必经之路,而sql语句的书写和语句的解析也是非常的重要的.sql语句的书写顺序:select ---> from --->where ---> group by ---> having ---> order by其中where和having是不能同时使用的,并且having和group by 是联合使用的sql语句的解析顺序 :from --->where ---> group by ---> having ---> sele原创 2020-10-20 19:58:45 · 720 阅读 · 0 评论 -
Mysql -- database/sql / GORM
Go操作Mysql数据库使用Go操作MySQL等数据库,一般有两种方式:一是使用database/sql接口,直接在代码里硬编码sql语句;二是使用gorm,即对象关系映射的方式在代码里抽象的操作数据库。一般推荐使用第二种方式。使用database/sql接口Go没有内置的驱动支持任何数据库,但是Go定义了database/sql接口,用户可以基于驱动接口开发相应数据库的驱动。但缺点是,直接用 github.com/go-sql-driver/mysql 访问数据库都是直接写 sql,取出结果然后自己原创 2020-08-03 21:43:06 · 703 阅读 · 2 评论 -
Mysql--XORM
xormxorm是一个Go语言ORM库. 通过它可以使数据库操作非常简便.用法入门:前提:定义本文中用到的struct和基本代码如下// 银行账户type Account struct { Id int64 Name string `xorm:"unique"` Balance float64 Version int `xorm:"version"` // 乐观锁}var x *xorm.Engine创建orm引擎注意:若想配合mysql,原创 2020-08-04 09:55:35 · 600 阅读 · 0 评论 -
github.com/garyburd/redigo/redis. Redis--go
rediogo 标准go redis 官方库 获取:go get github.com/garyburd/redigo/redis连接redispackage mainimport ( "fmt" "github.com/garyburd/redigo/redis")func main() { c, err := redis.Dial("tcp", "127...原创 2020-08-04 10:21:28 · 2242 阅读 · 1 评论 -
github.com/go-xorm/xorm. XORM-Engine Group
https://www.bookstack.cn/read/go-xorm-0.6.5/README.mdhttps://www.bookstack.cn/read/go-xorm-0.6.5/chapter-01-2.engine_group.md创建 ORM 引擎所有操作均需要事先创建并配置 ORM 引擎才可以进行。XORM支持两种 ORM 引擎,即 Engine 引擎和 Engine Group 引擎。一个 Engine 引擎用于对单个数据库进行操作,一个 Engine Group 引擎用于转载 2020-08-10 20:21:57 · 1342 阅读 · 0 评论 -
Mysql中key 、primary key 、unique key 与index区别
1. 一个表只能有一个PRIMARY KEY,但是可以有多个UNIQQUE KEY。 唯一约束设置唯一约束的列允许有空值,但是只能有一个空值。 主键约束在一个表中只能有一个,且不允许有空值。 2. key: 主要是用来加快查询速度的,key是数据库的物理结构:约束和索引。 3. primary key:主键约束,并建立一个主键索引。主键必须唯一,非NULL, 4. unique key: 唯一约束并在这个key上建立一个唯一索引。主要是用来防止数据插入的时候重复的。 5. foreign.原创 2020-10-15 10:56:38 · 1090 阅读 · 0 评论 -
mysql数据库备份还原命令
备份数据:备份的语句mysqldump的基本语法:mysqldump -u username -p dbname table1 table2...->NewdbName.sql;参数解析:dbname:要备份数据库的名称;table1和table2参数表示的是需要备份的数据库表的名称,假如为空则表示需要备份整个数据库;NewdbName.sql表示的是将数据库备份到指定的.sql的文件中,这个文件的前面可以执行一个详细的绝对路径下。 1. mysql -u root -p原创 2020-09-29 16:53:22 · 495 阅读 · 0 评论 -
xorm代码
package mainimport ( "fmt" _ "github.com/go-sql-driver/mysql" "github.com/go-xorm/core" "github.com/go-xorm/xorm")//xorm基本操作和高级操作func main() { //1. 创建数据库引擎对象 engine, err := xorm.NewEngine("mysql", "root:6746@/test?charset=utf8") if err != nil原创 2020-09-28 20:56:44 · 3025 阅读 · 0 评论 -
mac 环境下开启mysql的binlog
进入到mysql -u root -p查询当前mysql是否支持binlog:show variables like 'log-bin'; 如果是 off 代表不支持。需要修改my.cnf 文件支持binlog查看my.cnf 路径:mysql --help --verbose | grep my.cnf在/etc 目录下新建my.cnf 并添加如下内容:[mysqld]# log_binlog-bin = mysql-bin #开启binlogbinlog-format = ROW #.原创 2020-09-28 14:41:05 · 1123 阅读 · 1 评论 -
Ubuntu 安装 MySQL 的简单操作
ubuntu上安装mysql非常简单只需要几条命令就可以完成。 sudo apt-get install mysql-server mysql-client // 安装数据库 sudo apt-get instal libmysqlclient-dev //安装数据库的包 C语言 API安装过程中会提示设置密码什么的,注意设置了不要忘了,安装完成之后可以使用如下命令来检查是...原创 2019-08-18 12:29:40 · 124 阅读 · 0 评论 -
在虚拟机中查看sqlite3类型的数据库Student.db
1.先进入到数据库所在目录下,加载数据库(这里是.db数据库 )进入数据库所在路径,输入" sqlite3 + 数据库名.db " 打开数据库yang@yang:~$ cd Projects/temp/yang@yang:~Projects/temp$ sqlite3 Student.db 2.输入 " .table " 查看数据库中存在哪些表3.输入” .schema ’ 查看建表...原创 2019-08-11 21:23:01 · 613 阅读 · 0 评论 -
sqlite3数据库的基本操作
SQLite 的数据库权限只依赖于文件系统,没有用户帐户的概念。SQLite 有数据库级锁定,没有网络服务器。它需要的内存,其它开销很小,适合用于嵌入式设备。你需要做的仅仅是把它正确的编译到你的程序。接口由SQLite C API组成,也就是说不管是程序、脚本语言还是库文件,最终都是通过它与SQLite交互的(我们通常用得较多的ODBC/JDBC最后也会转化为相应C API的调用)。创建数据...原创 2019-07-19 17:41:58 · 2772 阅读 · 0 评论 -
MySQL语句集合
Windows服务-- 启动MySQL net start mysql-- 创建Windows服务 sc create mysql binPath= mysqld_bin_path(注意:等号与值之间有空格)连接与断开服务器mysql -h 地址 -P 端口 -u 用户名 -p 密码SHOW PROCESSLIST -- 显示哪些线程正在运行SHOW VARIABL...转载 2019-08-24 10:23:51 · 173 阅读 · 0 评论 -
自定义函数报错 Error Code: 1418. This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA
创建自定义函数时,发生错误。Error Code: 1418. This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled (you *might* want to use the less safe log_bin_tru...原创 2019-08-07 18:21:50 · 6798 阅读 · 0 评论 -
使用 update 语句的时候报错---MySql运行在`safe-updates`模式下
使用MySQL执行update的时候报错:Error Code: 1175. You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column. To disable safe mode, toggle the option in Preferences ...原创 2019-08-07 14:29:16 · 925 阅读 · 0 评论 -
SQL---视图
视图是什么视图View是一种虚拟的表,本身不保存数据,内部封装了一条SELECT语句,数据来源于查询的一张或多张实际数据的表。视图的结构和真实的表相同,也是有行和列组成,在视图上也可以进行增删改查的操作。视图的含义视图是一个虚拟表是从数据库的一个或者多个表中导出来的表。视图还可以在已有的视图的基础上定义。视图一经定义便存储在数据库中,与其相对应的数据并没有像表那样在数据库中再存储一份,通...原创 2019-08-06 16:59:58 · 664 阅读 · 0 评论