redis数据库的使用

96
AAA年华
2017.12.22 16:04* 字数 1195

redis中的5种数据类型:

redis的数据存储:key=value 键值对

key<键>的数据类型:字符串    

value<值的类型>:

            string字符串

            hash哈希

            list列表

            set集合

            zset有序集合

1.1.1string

string是redis最基本的类型

        最大能存储512MB数据

        string类型是二进制安全的,即可以为任何数据,比如数字、图片、序列化对象等

方法:

set key value :给一个key赋值value

mset key value [key value]:设置多个键值对

get key:根据key获取一个值

mget key [key]:根据多个key获取多个值

setex key seconds value:给一个key设置值value,过期时间seconds

incr key :将key对应的值+1

incrby key increment:将key对应的值+increment

decr key:将key对应的值-1

decrby key increment:将key对应的值-increment

append key value:将value的值拼接到x后面

strlen key:获取key对应的值的长度


补充说明:

key操作

方法:

keys pattern:查找键,支持正则

exists key:查找键是否存在,存在返回1,否则返回0

type key:查看键对应的值的类型

del key:根据key删除键值对

expire key seconds:给key设置过期时间

ttl key:查看键的有效时间。


hash:用于存储对象[键值对]

方法:hash用于存储对象,对象的格式为键值对


hset key field value:设置单个属性

hmset key field value [field value]:设置多个属性

hget key field :获取key对应的值

hmget key field [field]:获取多个key对应的value值

hgetall key:获取所有属性和值

hkeys key:获取所有的属性

hlen key:获取包含属性的个数

hvals key:获取所有的值

hexists key field:判断属性是否存在

hdel key field [field]:根据属性名称删除属性及值

hstrlen key field:返回值的字符串长度



list列表:有序存储多个数据

Ÿ列表的元素类型为string

Ÿ按照插入顺序排序

Ÿ在列表的头部或者尾部添加元素

方法:

lpush key value [value]:列表头部增加多个数据

lrange key start stop:返回存在在key的list中指定范围的数据

rpush key value [value]:列表尾部增加多个数据

linsert key before | after pivot value:在一个元素前/后插入数据

lset key index value:设置指定索引的元素的值

lpop key:删除并且获取key对应的list第一个元素

rpop key:删除并且获取key对应的list最后一个元素


llen key:获取列表的长度

lindex key index:获取列表中索引对应的元素

ltrim key start stop:获取列表中start~stop组成的新的列表


set集合:无序存储多个数据

Ÿ无序集合

Ÿ元素为string类型++++

Ÿ元素具有唯一性,不重复

方法:

sadd key value [value]:添加多个数据到key集合中

smembers key:获取key集合中所有的数据

sismember key value:判断value是否在key集合中存在

scard key:获取key集合中元素的个数

sinter key [key]:获取多个集合 交集

sdiff key [key]:获取多个集合的差集

sunion key [key]:获取多个集合的并集

zset集合:有序存储多个数据

方法:

Ÿsorted set,有序集合

Ÿ元素为string类型

Ÿ元素具有唯一性,不重复

Ÿ每个元素都会关联一个double类型的score,表示权重,通过权重将元素从小到大排序

Ÿ元素的score可以相同


zadd key score value [ score value]:添加多个带权重的数据到key集合中

zrange key start stop:获取指定范围中所有的元素

zcard key:返回元素的个数

zcount key min max :返回score值在min和max之间的数据

zscore key member:返回集合中member元素的score值

注意:set zset中的元素具有唯一性,不重复

redis发布订阅

subscribe 频道名称 [频道名称]:订阅多个频道

unsubscribe  频道名称 [频道名称]:取消多个频道的订阅

publish 频道 消息:向指定的频道推送消息


主从双备

通过redis.**.conf配置完成主从双备

bind配置主数据库服务器

slaveof配置从数据库服务器


python操作redis

操作模块:redis

数据库连接对象:redis.StrictRedis(…)

直接执行命令

pipeline()管道:缓冲执行,提升效率

使用execute方法一次提交


Web note ad 1