Redis学习

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连接:

Python连接

pipe.get('name')

pipe.execute()

你可能感兴趣的:(Redis学习)