mysql sql oracle 这些都是关系型数据库,你要分析里面有哪些表,表里面有哪些字段。这些都是有通用的语法,SQL语法
开发中用的最多的就是拿redis来做缓存(读写非常快)
NoSQL (一类新出现的数据库(not only sql )) ,它的的特点:
存储结构跟传统关系型数据库中的那种关系表完全不同,nosql 中存储的数据都是KV形式
NoSQL 的世界中没有一种通用的语言,每种nosql 数据库都有自己的api和语法,以及擅长的业务场景
NoSQL 中的产品种类相当多:
Mongodb redis hbase hadoop Cassandra hadoop 都是非关系型数据库
sql 数据库适用于关系特别复杂的数据查询场景,nosql反之,sql对事务的支持非常完善,而nosql基本不支持事务
事务的理解:一组sql操作,要么都成功,要么都失败。就像银行取钱。
键的命令都是通用的。可以为字符串的,也可以为哈希的。
可以用keys * 查看redis数据库里面有哪些键 keys a* (查看以a开头的所有键)
setex aa 3 aa (setex 设置过期时间 这里的是设置aa 的过期时间为3秒)
mset key1 value1 key2 value2 .... (设置多个值,一一对应)
mget key1 key2 key3.... (根据对个的key获取多个值) mget a1 a2 a3( 这里的意思是获取 a1 a2 a3 的值)
append key value (往对应的key里面添加value ) append 'a' 'haha' (这里的意思是往a 里面添加haha a对应的值后面就多了haha字符串)
exists key1 (判断某个键是否在数据库中) exists a1 (判断 a1键 是否在数据库了)
type key (查看key 对应value 的类型)
expire 'a1' 3 (设置键a1的过期时间为3秒)
ttl a (查看key的有效时间)
string类型的键对应的值是string 哈希类型 (属性和值的方式) 属性对应的值也是string
list 里面的类型也是string
redis 里面list 操作
集合,有序集合