redis 基本操作

  • 一、redis简介   Redis:REmote DIctionary Server(远程字典服务器)
    • 1.高性能的(key/value)分布式内存数据库,基于内存运行, 并支持持久化的NoSQL数据库,是当前最热门的NoSql数据库之一,也被人们称为数据结构服务器。
    • 2.特点:
      • 1.Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用
      • 2.不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储
      • 3.Redis支持数据的备份,即master-slave模式的数据备份  主从配置
  • 二、redis 安装及基本命令
    • 1.安装   sudo apt-get install redis-server
    • 2.检测   redis-cli    显示有ip和端口好6379 则安装成功
    • 3.打开配置文件命令:sudo subl /etc/redis/redis.conf   绑定地址:如果需要远程访问,可将此行注释  bind 127.0.0.1
    • 4.启动  sudo service redis start
    • 5.停止  sudo service redis stop
    • 6.重启  sudo service redis restart
  • 三、数据操作
    • redis是key-value的数据,所以每个数据都是一个键值对 ,键的类型是字符串,值的类型分为五种:字符串string,哈希hash,列表list,集合set,有序集合zset
    • 数据库默认有16个 分别是0-15  切换数据库  select [0-15]
    • 1.对键的操作
      • 1.keys *  查看所有键
      • 2.exists key  查看键是否存在  1表示存在  0 表示不存在
      • 3.type key  查看该键的值的数据类型
      • 4.del key1 key2   删除键可以一次性删除多个 ,删除成功返回1,失败返回0
      • 5.expire key 秒数   为给定 key 设置生存时间,当 key 过期时(生存时间为 0 ),它会被自动删除。
      • 6.ttl key  查看过期时间
    • 2.string   这儿的string包括字符串,数值,bool等
      • 1.set 键名 值  添加或修改一条数据
      • 2.get 键名    根据键名获取它的值
      • 3.mset 键名1 值 键名2 值   一次性添加或修改多条数据
      • 4.mget 键名1 健名2  一次性获取多个键的值
      • 5.append 健名 值  给该键的值后面追加值
      • 6.incr/decr 键名   给改键的值+或- 1  (改值必须为数值)
      • 7.incrby/decrby 键名 n  给改键的值+或- n  (改值必须为数值)
      • 8.getrange 键名 开始索引 结束索引    获取该键的范围值
      • 9.setrange 键名 开始索引 新值    设置该键的范围值
      • 10.setex 键名 秒数 值  添加或修改一条数据并设定过期时间
      • 11.setnx 键名 值   添加一条数据(当该键存在时,无法使用该方法修改该键的值)
      • 12.msetnx 键名1 值 键名2 值  添加多条数据(当有一个键存在时,全部添加失败)
    • 3.hash  hash的值可以看成一个字典  key:value
      • 1.hset 键名  key value  添加或修改该键的单个key value
      • 2.hget 键名  key   获取该键的key对应的value
      • 3.hmset 键名 key1 value key2 value  添加或修改该键的多个key value
      • 4.hmget 键名 key1 key2   获取该键的多个key 对应的 value
      • 5.hgetall 键名  获取该键的所有key,及 value
      • 6.hkeys  键名  获取该键的所有key
      • 7.hvals  键名  获取该键的所有value
      • 8.hdel 键名 key  删除该键的一个key
      • 9.hlen 键名   获取该键的所有key,value 的组数
      • 10.hexists 键名 key   返回1表示该键存在这个key 反之不存在
      • 11.hincrby 键名 key n   让该键的key对应的value+n (这个value必须为数字,n为整数)
      • 12.hincrbyfloat 键名 key n   让该键的key对应的value+n (这个value必须为数字,n为小数)
      • 13.hsetnx 键名 key value   为该键添加一组key value(当该key存在时,无法使用该方法修改该key的vlaue)
    • 4.list   列表中的元素类型为string
      • 1.lpush 键名 1 2 3 4    为该键的列表从左边添加数据
      • 2.rpush 键名 1 2 3 4    为该键的列表从左边添加数据
      • 3.lrange 键名  开始下标 结束下标  查看该键的列表的范围值
      • 4.lpop/rpop 键名   该键的列表头部/尾部删除一个元素
      • 5.lindex 键名 下标  查看该键列表指定索引的值
      • 6.llen 键名  查看改键列表的长度
      • 7.lrem 键名 n 值  删除该键列表n个该值
      • 8.ltrim 键名 开始下标 结束下标    截取(按照下标)并赋值给该键列表
      • 9.rpoplpush 键名1 键名2 从键1的列表尾部删除一个元素,并添加到键2的列表的头部
    • 5.set  集合中的元素不能重复,元素为string类型
      • 1.sadd 键名 1 2 3 4 4  为该键的集合添加数据(只进去一个4)
      • 2.smembers 键名 查看该键的集合中的所有元素
      • 3.sismember 键名 值  判断该键的集合有没有这个值
      • 4.scard 键名 查看该键的集合长度
      • 5.srem 键名 值  删除该键的集合中的这个值
      • 6.srandmember 键名 n 随机选出n个该键的集元素
      • 7.spop 键名 随机删除一个该键集合中的元素
      • 8.smove 键名1 键名2  值   将键1集合中该值移动到键2的集合中
      • 9.sdiff 键名1 键名2   取键1集合里面与键2集合中不同的值   差集
      • 10.sinter 键名1 键名2  取键1集合里面与键2集合中相同的值  交集
      • 11.sunion 键名1 键名2  取键1集合里面与键2集合所有的值(不重复)  并集
    • 6.zset  在set的基础上加了一个score(分值) 权重
      • 1.zadd 键名  score值  值 score值  值 ....   添加或修改该键的有序集合
        • zadd 键名  100  "张三"  90  "李四" ...
      • 2.zrange  键名  开始下标  结束下标    查看该键有序集合范围下标的值
      • 3.zrange  键名  (开始下标  (结束下标  withscores      查看该键有序集合范围下标(不包括开始和结束下标)的权重及值
      • 4.zrangebyscore  键名  开始分值  结束分值    查看该键有序集合范围分值的值
      • 4.zrangebyscore  键名  (开始分值  (结束分值  withscores     查看该键有序集合范围分值(不包括开始和结束分值)的权重及值
      • 5.zrem 键名 值  根据值删除该键有序集合中的一组(分值及值)
      • 6.zcard  键名  获取该键有序集合的长度(分值和值算一组)
      • 7.zcount 键名  开始分值  结束分值   获取该键有序集合范围分值的数据长度
      • 8.zcount 键名  (开始分值  (结束分值   获取该键有序集合范围分值的数据长度(不包括开始和结束分值)
      • 9.zrank 键名 值  获取该键的有序集合值对应的下标
      • 10.zscore 键名 值 获取该键的有序集合值对应的分值(权重)
    • 四、消息的订阅和发布
      • 1)开三个终端,都去连接上redis
      • 2)在其中两个终端上去订阅频道:subscribe  频道名(可以是多个)
      • 3)在第三个终端上去发布消息    publish  频道名  消息信息
    • 五、主从复制
      • 1)主机:进入配置文件,把bind选项修改为自己电脑的ip
      • 2)从机:进入配置文件,把bind选项修改为从机的ip
        • bind    192.168.28.12
        • slaveof  主机ip  6379
      • 3)当配置完成后一定记得重启主从两个redis服务
      • 4)主机连接:redis-cli  -h  主机ip
      • 5)从机连接:redis-cli  –h  从机ip
      • 6)在主的上面去设置值,在从的上面可以获取到值,代表主从设置完成
    • 六、使用Python的redis驱动包和redis数据库交互
      • 使用redis包里面的StrictRedis模块,创建连接对象
      • 使用连接对象可以直接使用方法增删改查
      • 增删改查的方法和终端命令方法相同。
      • from redis import StrictRedis
      • my_redis=StrictRedis(host="localhost",port=6379)  host为安装有redis的机器的ip,默认端口为6379
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值