redis 教程,redis使用方法

  redis 教程,redis使用方法

  Redis教程:概述redis是一个nosql数据库,它的数据存储在内存中。同时redis可以定期将内存数据同步到磁盘,也就是可以持久化数据,它比memcached支持更多的数据结构(string,list list[队列和堆栈],set[集合],sorted set[有序集],hash(哈希表))。相关文件:http://redisdoc.com/index.html

  Redis使用场景:登录会话存储:存储在redis中,与memcached比较,数据不会丢失。排名/计数器:比如一些选秀类节目,往往会有一些排名靠前的主播排名。还有一些看文章的技巧,或者新浪微博的点赞数。作为消息队列:例如,celery使用redis作为中间人。当前在线人数:还是之前的show例子,会显示当前系统有多少在线人数。一些常用的数据缓存:比如我们的BBS论坛,版块不经常变化,但是每次访问首页都要从mysql中获取,可以缓存在redis中,不用每次都请求数据库。缓存前200篇文章或评论:一般用户在浏览网站时,只会浏览一些之前的文章或评论,所以可以缓存前200篇文章和对应的评论。如果用户访问的文章超过200篇,就会访问数据库,如果以后的文章超过200篇,前面的文章就会被删除。朋友:微博的朋友是通过redis实现的。以及发布订阅功能:可以作为聊天软件使用。redis和memcached的比较

  存储

  类型

  纯内存数据库

  内存同步数据库

  数据类型

  定义值时,数据类型应该是固定的。

  不需要

  虚拟内存

  不支持

  支持

  过期策略

  支持

  支持

  存储数据安全性

  不支持

  可以将数据同步到dump.db中

  灾难恢复

  不支持

  您可以将数据从磁盘恢复到内存。

  分布式的

  支持

  主从同步

  订阅和发布

  不支持

  支持

  ubuntu系统中redis的安装和启动:sudo apt-get install redis-server卸载:sudo apt-get purge-auto-remove redis-server启动:Redis安装后会默认自动启动,可以通过以下命令查看:psaux grepradis如果想自己手动启动,可以通过以下命令启动:

  Sudo服务redis-server start stop:redis上sudo服务redis-server stop的操作有两种方式,第一种方式是redis-cli,第二种方式是Python、PHP、JAVA等编程语言。

  使用redis-cli对redis执行字符串操作:Start Redis:sudo service Redis-server Start Connect Redis-server:Redis-CLI-h[IP]-p[port]Add:set key value

  比如:

  Set username xiaotuo将字符串值value关联到key。如果该键已经包含其他值,set命令将覆盖旧值,忽略其类型。而且默认的过期时间是永久的,也就是永远不会过期。

  删除:删除键

  比如:

  Del username设置过期时间:过期密钥超时(秒)。设置该值时,您还可以指定过期时间:

  设置键值EX超时

  或者:

  Setkey超时值查看过期时间:ttl键

  比如:

  Ttl username查看当前redis中的所有key: keys *列表操作:add element: lpush key value到列表左侧,将value值插入到列表键的头中。如果该键不存在,将创建一个空列表并执行lpush。当键存在但不是列表类型时,将返回一个错误。

  在列表右侧添加一个元素:rpush key value将value值插入列表键的页脚。如果该键不存在,将创建一个空列表并执行RPUSH操作。当键存在但不是列表类型时,将返回一个错误。

  检查列表中的元素:lrange键start stop返回列表键中指定间隔内的元素,间隔由offset start和stop指定。如果你想从第一个到最后一个,在左边输入0 -1。

  从列表中删除元素:删除并返回列表的头元素key: lpop key删除并返回列表的尾元素:rpop key删除并返回列表的中间元素key: lrem key count value将删除列表中带有值的count元素。

  指定要返回的元素:lindex key index将返回该元素在键列表中的索引。

  获取列表中元素的数量:llen key

  比如:

  Llen languages删除指定的元素:lrem键计数值

  比如:

  根据参数count的值,emlanguages 0 PHP删除列表中与参数值相等的元素。count的值可以是以下值:

  0:从页眉到页脚搜索,并删除等于value的元素。这个数字是count。0:从表的末尾搜索到表头,并删除等于value的元素。数字是count的绝对值。Count=0:删除表中所有与值相等的值。集合的操作:添加元素:添加集合值1值2.

  比如:

  Sadteam小朵大朵观赏元素:smembeers套装

  比如:

  Smembers团队删除元素:srem集合成员.

  比如:

  Srem小组小托大托查看集合中的元素数:scard集合

  比如:

  Scard team1获取多个集合的交集:烧结集合1集合2

  比如:

  烧结组1组2获得多个集合的并集:烧结组1集合2

  比如:

  Union team1team2获取多个集合的差集:sdiff set1 set2。

  比如:

  Sditteam1 team2 hash hash操作:添加新值:hset关键字段值。

  比如:

  Et网站百度Baidu.com将哈希表键中字段的值设置为value。

  如果该键不存在,则创建一个新的哈希表并执行HSET操作。如果域字段已经存在于哈希表中,旧值将被覆盖。

  获取与hash: hget键字段中的字段相对应的值。

  比如:

  Hget网站百度删除字段中的一个字段:hdelkeyfield。

  比如:

  Hdwebsitebaidu获取hash: hgetallkey中的所有字段和值。

  比如:

  Hgetall网站获取所有的字段:HKEYS在一个散列键

  比如:

  Hkeys网站获取一个hash中的所有值:HwalsKey

  比如:

  Hvals网站确定哈希中是否存在字段:exists keyfield。

  比如:

  Hexists网站百度在hash: hlen字段中获得总的键值对

  比如:

  HLWEBSITE事务操作:Redis事务可以一次执行多个命令,事务具有以下特点:隔离操作:事务中的所有命令都会被序列化,顺序执行,不会被其他命令干扰。原子操作:事务中的所有命令要么被执行,要么都不执行。打开一个事务:multi以后执行的所有命令都在这个事务中执行。

  执行:exec将一起提交multi和exec中的操作。

  取消事务:放弃将取消multi后的所有命令。

  监控一个或多个密钥:watchkey.监控一个(或多个)键。如果这个(或这些)键在事务执行前被其他命令改变,事务将被中断。

  取消对所有键的监控:unwatch发布/订阅操作:向通道发布消息:发布通道消息订阅通道消息:订阅通道持久化:redis提供了两种数据备份方式,一种是RDB,一种是AOF。下面将详细描述两种备份策略:

   RDB AOF --- 开-关开:默认为开。关闭:配置文件中的所有保存都被注释,即关闭。 Open: aof通过appendonly打开,在配置文件中为yes,通过no关闭,同步机制您可以指定在某个时间同步多少个命令。比如一分钟有两个命令,同步一次。每秒或每条命令后同步存储内容将具体值存储在redis中存储执行的操作命令以更新数据存储文件的路径根据dir和dbfilename指定路径和具体文件名根据dir和appendfilename指定具体路径和文件名优点 (1)将数据存储到文件中会被压缩,文件大小小于aof。(2)由于redis的具体值被存储并将被压缩,所以恢复速度比AOF快。(3)非常适合备份。 (1)AOF的策略是每秒或每次发生写操作时进行同步,所以即使服务器出现故障,最多也只会丢失一秒钟的数据。(aof存储Redis命令,它直接附加在aof文件的后面。所以每次备份的时候,只需要添加新的数据就可以了。(3)如果AOF文件很大,那么Redis将重写它,只保留最小的命令集。缺点(1)RDB会在某段时间内有多次写操作时启动同步机制。由于压缩机制的原因,RDB会在同步过程中重新保存整个Redis中的数据,所以您通常设置至少5分钟保存一次数据。在这种情况下,一旦服务器出现故障,5分钟的数据就会丢失。(2)当数据保存到RDB时,Redis会分叉出一个子流程进行同步,在数据量比较大的情况下可能会非常耗时。 (1)AOF文件比RDB文件大,因为它没有经过压缩。(2)AOF每秒或每次写操作都备份一次,所以如果并发量大,效率可能会有点慢。(3)由于AOF文件存储命令,Redis在灾难恢复时会在AOF重新运行命令,没有RDB快。 More http://redisdoc.com/topic/persistence.html#redis 安全性:在配置文件中,设置requirepass密码,因此客户端连接时需要使用密码:redis-cli -p 127.0.0.1 -p 6379。

  redis设置用户名xxx

  (错误)不需要身份验证。

  redis验证密码

  redis设置用户名xxx

  OKPython操作redis安装Python-redis: pip安装redis。创建一个新文件,比如redis_test.py,然后初始化一个redis实例变量,在ubuntu虚拟机中打开Redis。例如,虚拟机的ip地址是192.168.174.130。代码如下:#从redis包中导入Redis类。

  从redis导入Redis

  #初始化redis实例变量

  xtis=redis(host= 192 . 168 . 174 . 130 ,port=6379)对字符串的操作:操作redis的方法名称,就像之前使用redis-cli一样,现在简单介绍一些常用的。示例代码如下(遵循上述代码):#添加一个值,并将到期时间设置为

  xtredis.set(用户名,小托,ex=60)

  #获取一个值

  xtredis.get(用户名)

  #删除一个值

  xtredis.delete(用户名)

  #将值增加1

  xtredis.set(read_count ,1)

  Xredis.incr (read_count) #此时read_count变为2。

  #将值减少1

  Xtdis.decr (read_count) #此时read_count变成了一对列表操作:同一个字符串操作,所有方法的名字都和使用redis-cli操作一样:#在语言列表的左边加一个python。

  xtredis.lpush(语言, python )

  #在语言列表的左边添加一个php

  xtredis.lpush(语言, php )

  #在此语言列表的左侧添加javascript

  xtredis.lpush(语言, javascript )

  #获取语言列表中的所有值

  打印xtredis.lrange(语言,0,-1)

  对集合的[javascript , php , python]操作:#添加一个元素小拓到集合团队

  xtredis.sadd(团队,小拓)

  #将元素大拖添加到收集团队

  xtredis.sadd(team , datuo )

  #向收集小组添加元素切片

  xtredis.sadd(team , slice )

  #获取集合中的所有元素

  xtredis.smembers(团队)

  [大托,小托,切片] #对hash的乱序操作:#将百度添加到网站的hash中。

  xtredis.hset(网站,百度, baidu.com )

  #将google添加到网站列表中

  xtredis.hset(网站,谷歌,谷歌. com )

  #获取网站散列中的所有值

  打印xtredis.hgetall(“网站”)

  {Baidu: Baidu.com , Google: Google.com}事务(管道)操作:redis支持事务操作,即有些操作只有统一完成才能完成。否则执行失败,在python中操作redis非常简单。示例代码如下:#定义一个管道实例。

  pip=xtredis.pipeline()

  #做第一步,给BankA自我成长1

  pip.incr(BankA )

  #执行第二步,将BankB减1。

  pip.desc(BankB )

  #执行交易

  Pip.execute()以上展示了python-redis的一些常用方法。如果想进一步了解其他方法,可以参考python-redis的源代码(见源代码pycharm的快捷键提示:将鼠标光标放在import redis的Redis上,然后按ctrl b进入)。

  转载请联系作者获得授权,否则将追究法律责任。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • 关于redis数据库入门详细介绍图片,redis数据库的使用,关于Redis数据库入门详细介绍
  • redis队列操作命令,redis 循环队列
  • redis队列操作命令,redis 循环队列,redis实现简单队列
  • redis部署应用服务器上,redis如何启动服务器
  • redis部署应用服务器上,redis如何启动服务器,搭建Redis服务器步骤详细介绍
  • redis缓存穿透和击穿解决方案,redis缓存穿透,缓存雪崩解决
  • redis缓存穿透和击穿解决方案,redis缓存穿透,缓存雪崩解决,redis缓存穿透解决方法
  • Redis缓存,redis和缓存
  • Redis缓存,redis和缓存,Redis缓存详解
  • redis的配置,启动,操作和关闭方法有哪些,关闭redis的命令,Redis的配置、启动、操作和关闭方法
  • redis的主从配置方法详解图,Redis主从配置
  • redis的主从配置方法详解图,Redis主从配置,redis的主从配置方法详解
  • redis界面工具,mac安装redis可视化工具
  • redis界面工具,mac安装redis可视化工具,推荐几款 Redis 可视化工具(太厉害了)
  • redis正确使用的十个技巧是什么,redis正确使用的十个技巧有哪些
  • 留言与评论(共有 条评论)
       
    验证码: