zoukankan      html  css  js  c++  java
  • python操作三大主流数据库(11)redis的安装和简单使用

    命令参考文档:http://www.redis.cn/topics/introduction.html

    1.安装及配置
    官网https://redis.io
    中文网站:http://www.redis.cn
    windows版本下载地址:https://github.com/MSOpenTech/redis/releases

    可以看到安装成了系统服务

    2.字符串(String)相关操作
    set -- 设置值
    get -- 获取值
    mset -- 设置多个键值对
    mget -- 获取多个键值对
    append -- 添加字符串
    del -- 删除
    incr/decr -- 数字加1、减1

    设置、获取值
    C:Usersajie>redis-cli
    127.0.0.1:6379> set animal 'cat'
    OK
    127.0.0.1:6379> get animal
    "cat"
    127.0.0.1:6379> set animal 'dog'
    OK
    127.0.0.1:6379> get animal
    "dog"
    127.0.0.1:6379> append animal ' cat'
    (integer) 7
    127.0.0.1:6379> get animal
    "dog cat"
    
    设置获取多个值
    127.0.0.1:6379> mset user1 'jhon' user2 'amy'
    OK
    127.0.0.1:6379> get user1
    "jhon"
    127.0.0.1:6379> get user2
    "amy"
    127.0.0.1:6379> mget user1 user2 animal
    1) "jhon"
    2) "amy"
    3) "dog cat"
    127.0.0.1:6379> del user2
    (integer) 1
    127.0.0.1:6379> del user2
    (integer) 0
    127.0.0.1:6379> get user2
    (nil)
    
    incr/decr数字加1、减1
    127.0.0.1:6379> set num 10
    OK
    127.0.0.1:6379> get num
    "10"
    127.0.0.1:6379> set num 9
    OK
    127.0.0.1:6379> get num
    "9"
    127.0.0.1:6379> decr num
    (integer) 8
    127.0.0.1:6379> get num
    "8"
    127.0.0.1:6379> incr num
    (integer) 9
    127.0.0.1:6379> get num
    "9"
    
    设置键的过期时间
    127.0.0.1:6379> set animal 'monkey' ex 5
    OK
    127.0.0.1:6379> get animal
    "monkey"
    127.0.0.1:6379> get animal
    (nil)

    3.列表(list)相关操作

    lpush/rpush -- 从左/右插入数据
    lrange -- 获取指定长度的数据
    ltrim -- 截取一定长度的数据
    lpop/rpop -- 移除最左、右的元素并返回
    lpushx/rpushx -- key存在的时候才插入数据,不存在时不做任何处理

    插入多条数据
    127.0.0.1:6379> lpush q1 'jhon' 'cat' 'amy'
    (integer) 3
    127.0.0.1:6379> llen q1
    (integer) 3
    127.0.0.1:6379> lrange q1 0 -1
    1) "amy"
    2) "cat"
    3) "jhon"
    127.0.0.1:6379> lrange q1 0 8888
    1) "amy"
    2) "cat"
    3) "jhon"
    127.0.0.1:6379> rpush q1 'bob'
    (integer) 4
    127.0.0.1:6379> lrange q1 0 888
    1) "amy"
    2) "cat"
    3) "jhon"
    4) "bob"
    127.0.0.1:6379> lpush q1 'okone'
    (integer) 5
    127.0.0.1:6379> lrange q1 0 -1
    1) "okone"
    2) "amy"
    3) "cat"
    4) "jhon"
    5) "bob"
    
    存在键就插入
    127.0.0.1:6379> lpushx q1 'zhangsan'
    (integer) 6
    127.0.0.1:6379> lrange q1 0 -1
    1) "zhangsan"
    2) "okone"
    3) "amy"
    4) "cat"
    5) "jhon"
    6) "bob"
    
    不存在,不做任何操作
    127.0.0.1:6379> lpushx q2 'AMY'
    (integer) 0
    127.0.0.1:6379> lrange q1 0 -1
    1) "zhangsan"
    2) "okone"
    3) "amy"
    4) "cat"
    5) "jhon"
    6) "bob"
    
    截取0-2的键
    127.0.0.1:6379> ltrim q1 0 2
    OK
    127.0.0.1:6379> lrange q1 0 -1
    1) "zhangsan"
    2) "okone"
    3) "amy"

    4.集合(set)的相关操作

    sadd/srem -- 添加/删除元素
    sismember -- 判断是否为set的一个元素
    smembers -- 返回该集合的所有成员
    sdiff -- 返回一个集合与其他集合的差异
    sinter -- 返回几个集合的交集
    sunion -- 返回几个集合的并集

    向集合zoo中添加Cat和Dog元素
    127.0.0.1:6379> sadd zoo Cat Dog
    (integer) 2
    127.0.0.1:6379> smembers zoo
    1) "Dog"
    2) "Cat"
    127.0.0.1:6379> srem zoo Cat
    (integer) 1
    127.0.0.1:6379> srem zoo Cat
    (integer) 0
    127.0.0.1:6379> sismember zoo Cat
    (integer) 0
    127.0.0.1:6379> sismember zoo Dog
    (integer) 1
    127.0.0.1:6379> smembers zoo
    1) "Dog"
    
    
    127.0.0.1:6379> sadd zoo Cat
    (integer) 1
    127.0.0.1:6379> smembers zoo
    1) "Dog"
    2) "Cat"
    127.0.0.1:6379> sadd zoo1 Cat Cow
    (integer) 2
    127.0.0.1:6379> smembers zoo1
    1) "Cow"
    2) "Cat"
    127.0.0.1:6379> smembers zoo
    1) "Dog"
    2) "Cat"
    
    比较集合的差异
    127.0.0.1:6379> sdiff zoo zoo1
    1) "Dog"
    127.0.0.1:6379> sdiff zoo1 zoo
    1) "Cow"
    
    返回集合的交集
    127.0.0.1:6379> sinter zoo zoo1
    1) "Cat"
    
    返回集合的并集
    127.0.0.1:6379> sunion zoo zoo1
    1) "Cow"
    2) "Dog"
    3) "Cat"

    5.散列hash相关操作

    hset/hget -- 设置/获取散列值
    hmset/hmget --设置/获取多对散列值
    hsetnx -- 如果散列已经存在,则不设置
    hkeys/hvals -- 返回所有keys/values
    hlen -- 返回散列包含域(field)的数量
    hdel -- 删除散列指定的域(field)
    hexists -- 判断是否存在

    设置news:1的title和content内容
    127.0.0.1:6379> hset news:1 title 'News title'
    (integer) 1
    127.0.0.1:6379> hset news:1 content 'news content'
    (integer) 1
    127.0.0.1:6379> hget news:1 title
    "News title"
    127.0.0.1:6379> hget news:1 content
    "news content"
    127.0.0.1:6379> hmget news:1 title content
    1) "News title"
    2) "news content"
    127.0.0.1:6379> hmset news:2 title 'Title2' content 'Content2' is_valid 1
    OK
    127.0.0.1:6379> hmget news:2 title content is_valid
    1) "Title2"
    2) "Content2"
    3) "1"
    
    获取keys和values
    127.0.0.1:6379> hkeys news:1
    1) "title"
    2) "content"
    127.0.0.1:6379> hkeys news:2
    1) "title"
    2) "content"
    3) "is_valid"
    127.0.0.1:6379> hvals news:1
    1) "News title"
    2) "news content"
    127.0.0.1:6379> hvals news:2
    1) "Title2"
    2) "Content2"
    3) "1"
    127.0.0.1:6379> hlen news:1
    (integer) 2
    127.0.0.1:6379> hlen news:2
    (integer) 3
    127.0.0.1:6379> hdel news:2 is_valid
    (integer) 1
    127.0.0.1:6379> hdel news:2 is_valid
    (integer) 0
    127.0.0.1:6379> hlen news:2
    (integer) 2
    
    判断值是否存在
    127.0.0.1:6379> hexists news:2 is_valid
    (integer) 0
    127.0.0.1:6379> hset news:2 is_valid 1
    (integer) 1
    127.0.0.1:6379> hexists news:2 is_valid
    (integer) 1
  • 相关阅读:
    微信小程序之----加载中提示框loading
    微信小程序之----消息提示框toast
    微信小程序之----弹框组件modal
    浅析浏览器的回流与重绘 (Reflow & Repaint)
    关于input的一些问题解决方法分享
    关于js中 toFixed()的一个小坑
    浅谈js中null和undefined的区别
    浅谈JS中的闭包
    浅谈JS中的浅拷贝与深拷贝
    css设置居中的方案总结
  • 原文地址:https://www.cnblogs.com/reblue520/p/8549317.html
Copyright © 2011-2022 走看看