一,数据库的配置
内存数据库 MySQL与mongodb都是以文件的形式存储在磁盘上的
redis数据在内存中,操作内存的速度远远高于磁盘并且redis数据最终也可以存储在磁盘上
redis的存储结构为简直存储数据库类似于python中的字典的存储方式
redis的服务器与客户端:
- 启动服务器 redis = server配置文件路径
- 客户端连接服务器 redis-cil -h -主机ip
配置文件 - dbfilename 数据文件
- requirepass 用户密码
- masterauth 主机密码
- logfile 日志文件
- port 6379
- database 16
- loglever 日志等级
- bind 绑定ip
获取配置信息 - config get* 获取所有配置
- config get requirepass
二,数据库的五种数据类型及方法
redis中的数据类型的使用只能在python中使用
2.1 字符串
- set(k,b) 设置单个
- get(k) 获取单个
- mset(k:v,k:v)设置多个
- mget(k,k,k,) 获取多个
- incr 加1
- decr 减1
- decrby 减 增量
- setex(k,time,v) 设置带有有效期
- setnx(k,v) 不存在则插入 不会覆盖
- append(k,v) 在原始数据后拼接
2.2 键对应的操作
- keys()返回所有的键
- exists(k)查看键是否存在
- type(k)查看键对应值的类型
- exire(k,time)设置有效期
- ttl(k)查看剩余时间
- delete(k)删除键
2.3 列表
列表可以存储数据
- lpush(k,v) 开头插入
- rpush(k,v)结尾插入
- lpop (k) 开头删除
- rpop(k) 末尾删除
- lset(k,index,v) 修改指定位置索引
- linsert(k,after|before,pivot,v) 在指定位置插入索引
- lrem(k,count,v) 删除指定个数的指定元素
- ltrim(k,start,stop) 把原始位置切片
- lreange(key,start,end) 返回对应位置范围所有元素
- lindex(key,index) 返回对应位置的元素
2.4 集合
集合是无需不重复的
- sadd(k,*values) 将多个数据插入到集合
- srem(k,v) 移除指定value
- spop(key) 随机删除一个
- srandmember(k,count) 随机取几个 不删除
- scard(key) 集合元素个数
- smembers(keys) 返回所有元素
- sismenber(k,v) value是否在集合中
- sinter([key,key]) 交集
- sinterstore (dest,[key,key])将返回的交集存储到集合
- sunion([key,key]) 返回并集
- sunionstore(dest,[key,key]) 将返回的并集存储到集合
- sdiff([key,key]) 返回差集
- sdiffstore(dest,[key,key]) 将返回的差集存储到集合
3.5 有序集合
通过权重实现有序
每一个值都带有权重
- zadd(name,{v:score}) 添加带有权重的元素
- zrem(name,v,v) 从有序集合中移除
- zcard(name) 个数
- zcount(name,min,max) 权重在min,max之间元素个数
- zrange(name,start,stop) 获取指定索引范围元素
- zrevrange(name,start,stop) 逆序获取索引对应元素
- zrangebyscore(name,min,max) 获取指定分支对应元素
- zscore(name,value) 获取value对应的权重
3.6 hash
- hhset(name,key,value) 添加键值对
- hget(name,get) 获取键值对
- hmset(name,{key:value}) 添加多个键值对
- hmget(name,{key,key}) 获取多个键值对
- hincrby(name,key,value) 字段的值,增加增量
- hgetall(name) 所有字段和值
- hkeys(name) 所有字段
- hvals(name) 所有字段的值
- hexists(name,key) 判断字段是否存在
- hdel(name,key) 删除字段
- hlen(name,key) 返回字段长度