NoSQL数据库的四大分类:
1.键值存储数据库 redis,oracle BDB
2.列存储数据库 Cassandra,HBase
3.文档型数据库 CouchDB,MongoDB
4.图形数据库 Neo4j,InfoGrid
Redis:
string:
set name mihon : 设置变量name='mihon'
setex name 10 mihon: 设置变量name='mihon'有效时间为为10s
psetex name 1000 mihon: 有效时间1000ms
expire name 100:有效时间100s
persist name : 清除定时
mset k1 mihon k2 sumz : 批量设置
mget k1 k2 :批量获取
getset k1 allon : 设置新值并获取原来的值
getrange k1 0 2 : mih
setrange k1 2 zzz: 从位置2开始替换zzz
setbit k1 2 1:对value的二进制位进行操作
getbit k1 5 :获取k1对应的二进制表中的第5位的值(0或1)
bitcount k1 0 2:获取0-2字节中对应二进制为1的个数
strlen k1 : 获取k1的字节长度
incr int2 1 :自增1,int2必须是整数
incrbyfloat float1 1.2 :自增1.2
decr int2 :自减
append k1 hhh: 在k1 值的后面追加hhh
Hash:
hset info name mihon : 设置键 info,里面的一个键值对为naem=mihon
hmset info name mihon age 18 addr xm :批量设置
hget info name : 获取info 里面的 name 的值
hmget info naem age :批量获取 name ,age
hgetall info : 获取所有的值
hlen info : 获取有多少个键值对
hkeys info : 获取所有的键
hvals info : 获取所有的值
hexists info name : 检查info中是否有键 name
hdel info name : 删除 info 中的name
hincrby info age : 自增1
hincrbyfloat info age 2.0: 浮点自增
hcan info 1 :增量式迭代获取
hscan_iter info : yield 封装hscan创建生成器,实现分批获取redis中的数据
list:
lpush list 11 22 33 :创建列表,从左向右添加
rpush list 11 22 33 :从右往左添加
lpushx list 11 :当list存在是从左往右添加,
llen list :获取list的长度
linsert list before/after 55 60 :在55的前面或者后面插入60
lset list 1 20: 对list索引为1的位置重新赋值
lrem list 55 2: 删除list中从前到后的两个55,
lrem list 55 -2:删除list中从后往前的两个55
lpop list: 从左侧移除第一个元素,并返回该值
rpop list;从右侧移除第一个元素,并返回该值
lindex list 0 :获取索引位置为0的值
lrange list 0 -1:返回对应列表分片的值
ltrim list 0 -2:移除不在列表分片内的值
rpoplpush list list1:一个列表的最右边的元素移到另一个元素的最左边
lpop list timeout 2:移除最左边的值,阻塞2s后无值返回,超时
set:
sadd set 11 22 33 :创建一个不可重复的集合
scard set:获取 scard的元素个数
sdiff set set1 set2: 获取在第一个集合且不在其他集合中的元素
sdiffstore set4 set set1 set2 : 将在set 中且不在其他集合中的元素写入到 set4
sinter set set1 set2:获取多个集合的交集
sinterstore set4 set set1 set2:获取多个集合的交集写入到set4
sismember set 22:检查22是否set的成员
smembres set:获取set所有的元素
smove set set1 88:将set 中的88 移动到set1
spop set: 从集合的右侧移除一个元素,并返回
srandember set 2:从set中随机获取2个元素
srem set 22:从set中删除值为22的元素
sort_set:
zadd zset 11 22 33:创建一个有序的集合
zcard zset :获取zset的元素个数
常用操作:
delete k1 :删除任意数据类型的数据
exists k1 :检测是否存在K1
expire k1 5:设置超时时间
rename k1 k8:重命名
move k1 2:将K1移到db下
randomkey: 随机获取一个key 不删除
type k1 :判断数据类型
scan
scan_iter