Redis的安装:
Ubuntu安装:sudo apt redis-server
可以在/etc/redis中更改配置文件,可以更换绑定ip端口更改密码及写入磁盘频率等等
String命令: 所有命名不区分大小写,用于储存字符串类型,也可以存储数字,图片及序列化字符等等
set key value 设置一个键值对(有则修改,无则增加) 例: set foo 1
set key value ex seconds 设置N秒后自动删除的键值对 例:set foo 1 ex 2
mset key value [key value]... 设置多个键值对 例: mset foo 1 bar 1
setex key seconds value 设置N秒后自动删除的键值对 例:setex foo 2 1
get key 获取指定键的值 例:get foo
mget key [key]... 获取多个指定键的值 例:mget foo bar
append key 给对应的键的值追加 例:append foo hello
incr key 给指定的键值增加1(要求值是数字)例:incr foo
incrby key increment 给指定的键增加指定的值 例:incrby foo 5
decr key 给指定的键值减少1(要求值是数字)例:decr foo
decrby key decrement 给指定的键减少指定的值 例:decrby foo 5
strlen key 获取值长度 例:strlen foo
del key [key]... 删除指定的键,可删除多个 例:del foo bar
键命令:
select db_name 切换数据库
keys pattern 查找键,参数支持正则 例:keys *
exists key [key]... 判断键是否存在,存在为1,否则为0 例:exists foo
type key 查看指定键对应的值的类型 例:type foo
expire key seconds 设置过期时间,创建时没有指定过期时间则永久存在,直到使用del删除 例:expire foo 5
TTL key 查看有效时间 例:ttl foo
hash命令:用于储存对象,储存的对象为键值对
hset key field value 设置单个属性 一个key可能有多个属性 例:hset foo name ‘张三’
hmset key field value [field value]... 设置多个属性 例:hset foo name ‘张三’ age 18
hget key field 获取当前键的指定属性 例: hset foo name
hmget key field [field]... 获取当前键的多个属性的值 例: hmset foo name zhangsan age 18 gender man
hgetall key 获取指定键的全部属性和值 例:hgetall foo
hkeys key 获取所有的属性 例:hkeys foo
hvals key 获取所有属性的值 例:hvals foo
hlen key 获得指定键的属性的个数
hexists key field 判断当前键是否存在某个属性
hdel key field [field]...删除指定键的指定属性和值,可删除多个属性
hstrlen key field 查看当前键的属性对应的值的长度
list命令:列表的元素类型为string,按照插入顺序排列,在列表的头部或者尾部添加元素
lpush key value [value]... 在头部添加元素,可添加多个
rpush key value [value]... 在尾部添加元素,可添加多个
linsert key before|after povit value 在指定的key的列表的一个元素前插入或者在之后插入 linsert foo after 'bar' '123'
lset key index value 在当前key值的列表中插入元素在指定索引位置
lpop 移除并且返回key所对应列表的第一个元素
rpop 移除并且返回key所对应列表的最后一个元素
lrange key start end 返回储存在key的列表内指定范围内的元素,start和end的偏移量都是基于0的下标、偏移量也可以是负数,表示从列表的末尾开始计数,-1表示最后一个元素
lindex key index 返回列表指定索引的值
llen key 返回列表中元素的个数
ltrim key start stop 截取列表,改为原集合的一个子集,start和stop的偏移量基于索引0的下标,移除并且返回key所对应列表的第一个元素
set集合命令:无序集合,元素为string类型,元素具有唯一性。
sadd key member [member]... 为集合添加元素(成员),可添加多个
smembers key 返回集合内的所有元素(成员)
scard key 返回集合中元素(成员)的个数
sinter key [key]... 求多个集合的交集
sdiff key [key]...求某个集合和其他集合的差集,key顺序不同,返回的结果不同,显示第一个key有的,其他key没有的
sismember key member 判断某个元素(成员)是否在此集合中
sunion key [key]...求多个集合的并集
zset 有序集合命令:sorted set,元素为string类型,具有唯一性,,每个元素都会关联一个double类型的score,表示权重,通过权重将元素从小到大排序。元素的socr e可以相同。
zadd key score member [score member]... 添加一个成员以及它的权重···
zrange key start stop 返回指定范围内的元素
zcard key 返回指定集合内的元素个数·····
zcount key min max 返回指定集合内score在min和max之间的元素的个数
zscore key member 返回指定集合内指定成员的score值
zremkey member [member...] 删除成员
发布订阅:
主从配置:
master端修改redis配置文件(ubuntu的配置文件位置:/etc/redis/redis.conf),可使用info指令查看详细信息,修改bind为本机地址,
slave端一样修改,不过要加上slaveof master端ip port 如:192.168.1.11 6379
从端会复制主端的所有数据库内容
Python连接:
pipe.get('name')
pipe.execute()