6.redis

1.Redis的安装以及客户端连接

安装:apt-get install redis-server

卸载:apt-get purge --auto-remove redis-server

启动:redis安装之后默认会自动启动,但是也可以手动启动,service redis-server start

停止:service redis-server stop

客户端连接,一种方式是使用python等语言去连接,还可以使用redis-cli

1229382-20190727015311547-233338369.png



2.Redis的字符串以及过期时间

1229382-20190727015318261-1904367779.png

1229382-20190727015323569-979079728.png



3.Redis的列表操作

lpush list value

将value元素插入列表list的左边,如果list不存在则会创建一个名为list的列表,如果存在但不是列表类型则报错

1229382-20190727015329726-648838048.png

rpush list value

将value元素插入列表list的右边,如果list不存在则会创建一个名为list的列表,如果存在但不是列表类型则报错

1229382-20190727015335888-326570856.png

lrange list start stop

遍历列表list,start为起始范围,stop结束范围

1229382-20190727015341757-1266538599.png

1229382-20190727015346963-1616779251.png

1229382-20190727015352210-1402340220.png

lpop list

移除并返回list的头元素

rpop list

移除并返回list的尾元素

1229382-20190727015359587-2009515816.png

lrem list count value

删除list中count个值为value的元素。count>0,从前往后删除count个,count<0,从后往前删除|count|个,count=0,全部删除

1229382-20190727015405299-712467530.png

1229382-20190727015410378-594411066.png

lindex list index

返回list中索引为index的元素,但是不会删除

1229382-20190727015415918-1712992676.png

1229382-20190727015422482-706009972.png

llen list

查看有多少个元素

1229382-20190727015430240-1093895452.png



4.Redis的集合操作

sadd set value1 value2

往集合set中添加元素,可以一次性添加多个。和列表一样,同样不需要创建。注意:集合的元素不能重复,尝试重复添加元素,不会报错,但是添加不进去

1229382-20190727015442428-1024727253.png

smembers set

查看set所有的元素

1229382-20190727015448410-169369615.png

srem set val

移除集合中值为val的元素,这个和列表类似,列表是list所以lrem,集合是set,所以是srem,rem是remove的简写

1229382-20190727015454638-913644764.png

scard set

查看集合中元素的个数

1229382-20190727015500420-2140256692.png

sinter set1 set2

查看两个集合的交集

sunion set1 set2

查看两个集合的并集

sdiff set1 set2

查看两个集合的差集

1229382-20190727015507799-1664738650.png



5.Redis的哈希操作

hset map key value

给map添加一个key-value键值对

1229382-20190727015514204-868098914.png

hget map key

获取map中键为key的值

1229382-20190727015520204-190791094.png

hdel map key

删除map中键为key值

1229382-20190727015527381-1964017613.png

hgetall map

获取map中所有的键值对

hkeys map

获取map中所有的key

1229382-20190727015533202-86956256.png

hexists map key

判断map中是否存在键为key的键值对

1229382-20190727015539189-2041124272.png

hlen map

查看map的键值对的个数

1229382-20190727015544869-1917082009.png

6.Redis的事务操作

  • 事务操作:redis事务一次可以执行的多个命令,事务具有以下特征   
  • 隔离操作:事务中的所有操作都会序列化、按顺序的进行,不会被其他命令打扰

1229382-20190727015703102-331128365.png

1229382-20190727015707516-1048508584.png

监视一个或多个key

1229382-20190727015717745-657153511.png

但是如果我在其他的窗口执行了该操作

1229382-20190727015723390-1351645272.png

1229382-20190727015729789-1406562822.png

1229382-20190727015735418-1754456279.png

取消监视:unwatch key,不加key则是全部取消



7.Redis的发布订阅操作

订阅某个频道:subscribe channel

给某个频道发送信息:publish channel message

首先要先有订阅,才能去发送信息,否则都没有人订阅,发给谁啊。既然有订阅有发布,那么我们就要有两个窗口

1229382-20190727015742858-129214967.png

1229382-20190727015748568-1198591958.png

再来看看当前的订阅的终端

1229382-20190727015754514-335657663.png



8.RDB和AOF两种数据持久化的方式

redis的一大特点就是可以将数据持久化到磁盘上,我们之前的操作都是基于内存,一旦关闭程序,那么数据就丢失了。
而redis为我们提供了两种数据持久化的方式,一种是RDB,另一种是AOF
  • 1.开启和关闭:

    RDB:默认是开启的。如果把配置文件/etc/redis/redis.conf中所有的save给注释掉,就关闭了
    AOF:在配置文件中appendonly yes为开启,appendonly no则关闭
    看一下配置文件

    1229382-20190727015803442-447031097.png

  • 2.同步机制:

    RDB:可以指定某个时间内发生多少个命令进行同步。比如一分钟内发生了两次命令,就进行一次同步。
    AOF:每秒同步或者每次发生命令后同步
  • 3.存储内容:

    RDB:存储的是redis里面具体的值
    AOF:存储的是执行的写操作命令
  • 4.存储文件的路径:

    RDB:根据dir和dbfilename来指定具体路径和的文件名
    AOF:根据dir和appendfilename来指定具体的路径和文件名

    1229382-20190727015810820-135438954.png

  • 5.优缺点

    优点:
        RDB: 1.存储数据到文件中会进行压缩,文件体积比AOF小。2.因为存储的是redis具体的值,并且会经过压缩,因此在恢复的时候比AOF块。3.非常适用于备份
        AOF:1.AOF的策略是每秒钟或者每次发生写操作的时候都会同步,因此即使服务器发生故障,也只会丢失一秒的数据。2.AOF存储的是redis命令并且直接追加到aof文件后面,因此每次备份的时候只要添加新的数据进去就可以了。3.如果AOF文件比较大,那么redis会进行重写,只保留最小的命令集合
        
        
    缺点:
        RDB:RDB在多少时间内发生了多少写操作的时候就会发出同步机制,因为采用压缩机制,RDB在同步的时候都重新保存整个redis中的数据,因此一般会设置在最少5分钟内才保存一次数据。在这种情况下,一旦服务器故障,就会造成5分钟的数据丢失。2.在数据保存进RDB的时候,redis会fork出一个子进程用来同步,在数据流比较大的时候可能会非常耗时
        AOF:1.AOF文件因为没有压缩,因此体积比RDB大。2.AOF是在每秒或者每次写操作都进行备份,因此如果并发量比较大,效率会有点低。3.因为存储的是命令,因此在灾难恢复的时候redis会重新运行AOF文件里的命令,速度不及RDB


9.redis设置连接密码

1229382-20190727015818643-1567983846.png

这样的话,当别人进入redis想乱搞的话,就不可能了。

1229382-20190727015830944-1009999144.png

也可以在登录的时候 指定密码,redis-cli -p 6379 -h 127.0.0.1 -a zgg



10.其他机器连接本机redis

默认只能本机连接,如果想要其他机器也能连接,那么需要更改一下配置文件

1229382-20190727015837683-1730319626.png



11.python操作redis

操作字符串

1229382-20190727015844126-1769027610.png

操作列表

1229382-20190727015849898-1178302974.png

操作集合

1229382-20190727015855634-1989678884.png

操作哈希

1229382-20190727015902838-547036088.png

事务操作

1229382-20190727015911094-1365419111.png

发布与订阅

1229382-20190727015918698-903889475.png

1229382-20190727015924885-1763555809.png

1229382-20190727015931224-397349080.png

转载于:https://www.cnblogs.com/traditional/p/11253655.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值