zoukankan      html  css  js  c++  java
  • redis基础

    redis keys 命令 (不区分大小写)

    redis默认有16个集合 ,db=0~15

    select db(0-15) : 选择数据库

    flushdb : 清空当前数据库 (删除当前数据库中所有键)

    flushall : 清空所有数据库 (删除所有数据库中的键)

    keys * : 查看所有键 keys a* 查找以a开头的键 (匹配)

    del key : 删除键

    expire key seconds : 给指定的key添加过期时间,单位S

    ttl key : 以秒为单位,返回该键剩余时间

    exists key : 判断一个键是否存在

     

    数据类型

    redis 五种数据类型:字符串(string)、哈希(字典)、列表(list)、集合(set)、有序集合(zset)

    字符串string

    set key value : 设置key-value

    setnx key value : 设置键的值,仅当键不存在时

    mset key1 value key2 value : 同时设置多个键的值

    msetnx key1 value key2 value : 同时设置多个键的值,仅当键不存在时

    setex key seconds value : 使用键和到期时间来设置值(秒为单位)

    psetex key milliseconds : 使用键和到期时间来设置值 (毫秒为单位)

    setrange key offset value : 将该key对应的值从offset处开始替换为value

    get key : 获取指定键的值

    mget key1 key2...  : 获取所有指定key的值

    getset key value : 返回key旧值,设置新值

    getrange key start end : 字符串提取, 字符串下标从0开始

    incr key : 将键的整数值增加1

    incrby key increment(增量) : 按给定数值增加键的整数值

    incrbyfloat key increment : 按给定数值增加键的浮点数值

    decr key : 将键的整数值减1

    decrby key decrement :  按给定数值减少键的整数值

    decrbyfloat key decrement : 按给定数值减少键的浮点数值

    strlen key : 获取存储在键中的值的长度

    append key value : 将指定值追加到键上的字符串 ,键不存在则创建再追加

     

    哈希hash --字典{}

    hset key field value : 给key设置字段和值

    hsetnx key field value value : 给key设置字段和值,仅当key中不存在field时

    hget key field : 获取key中指定字段对应值

    hmget key field1 field2 ... : 同时获取key中多个字段的值

    hgetall key : 获取该key中所有字段和对应值

    hkeys key : 获取key中所有字段

    hvals key : 获取key中所有的值

    hdel key field1 field2 : 删除key中指定字段

    hexists key field : 该key中是否存在这个字段,存在返回1,不存在返回0

    hincrby key field number : 给该key中指定字段对应值加减number

    hincrbyfloat key field number :  给该key中指定字段对应值加减number,number可以为float值

    hlen key : 求key的长度, 获取key中字段的个数

     

    列表list

    lpush key value1 value2 : 依次将value1 和 value2 从左边插入队列key中

    lpushx key value : 仅当队列key存在时,往头部插入元素,不存在则插入失败.

    rpush key value1 value2 : 将value从右边插入到队列key中

    rpushx key value : 仅当队列key存在时,往右边插入元素,不存在则插入失败.

    linsert key before|after value newvalue : 在队列key中value的前面或后面插入新的newvalue

    lrange key start stop : 依次显示队列key中start 到 stop 的所有元素,0代表第一个, -1代表最后一个

    lrange key 0 -1 : 显示key中全部元素

    lpop key : 弹出队列key中最左边的元素

    rpop key :  弹出队列key中最右边的元素

    rpoplpush src dst : 弹出队列src中最右边的元素,插入到队列dst的最左边

    lset key index value : 将队列key中下标为index的元素设置为value,下标从0开始

    lindex key index : 获取队列key中下标为index的元素

    llen key : 求队列key的长度, 获取key中元素个数

    ltrim key start stop : 去掉队列start - stop区间之外的所有元素,闭区间

    lrem key n value : 去掉队列key中和value相等的元素

    n为正数时,从最左边开始去掉n个和value相等的元素

    n为负数时,从最右边开始去掉n个和value相等的元素

    n=0时,去掉队列中所有和value相等的元素

     

    集合 set

    无序性,唯一性

    sadd key value1 value2 value3 : 往集合中插入多个值

    scard key : 求集合长度, 获取集合中元素的个数

    smembers key : 查看集合中所有元素

    sdiff key1 key2 key3 : 获取差集, 保留key1中key2和key3没有的元素

    sdiffstore dst key1 key2 key3  : 将这个(sdiff key1 key2 key3)的结果保留到集合dst中

    sinter key1 key2 : 获取key1和 key2的交集

    sinterstore dst key1 key2 : 将(sinter key1 key2)的结果保存到集合dst中

    sunion key1 key2 : 得到集合key1和集合key2的并集

    sunionstore dst key1 key2 : 将集合key1和集合key2的并集保存到dst中

    sismember key value : 判断value在不在集合key中,在的话返回1,不在的话返回0

    smove key1 key2 value : 将集合key1中的元素value移到key2中

    spop key : 从集合中随机弹出一个元素

    srandmember key count count > 0 且 count < 集合元素个数: 返回你一个数组,而且数组元素唯一 count > 集合元素个数:返回你该集合中所有的元素 count < 0:返回给你-count个元素,但是不保证唯一

    srem key value1 value2 : 移除集合中value1和value2元素

     

    有序集合 zset

    zadd key score member : 将分值为score的成员member加入到有序集合key中

    zcard key : 获取key长度

    zcount key start stop : 获取集合中分值在start-stop之间的元素个数

    zincrby key number member : 给集合key中指定的member元素的分值加上number

    zrange key start stop [withscores] : 显示集合中的元素

    zrangebyscore key min max : 按区间查找对应元素,min 和 max

    【注】前面的只能写数字,肯定是大于等于,后面的可以写开区间,不写默认就是闭区间

    0 (100   --     0<= n <100

    0 100 -- 0<= n <=100

      默认升序排列好

    zrank key value : 将key升序排列,下标从0开始, 查找value在有序集合中的排名,返回的是下标

    zrevrank key value : 降序排列

    zrem key member1 member2: 移除有序集合中指定元素

    zrevrangebyscore key max min

    ZREVRANGEBYSCORE salary 100 30   # 逆序排列所有成员

    zscore key member : 返回指定成员的分数.

    python操作redis

    StrictRedis对象方法:

    通过init创建对象,指定参数host、port与指定的服务器和端口连接,host默认为localhost,port默认为6379,db默认为0, 密码(设置了就加上)

    from redis import StrictRedis

    #创建一个Strictredis对象,连接redis服务器

    sr = StrictRedis(host='localhost',port=6379,db=0)

    #1.增
    try:
       result = sr.set('py1', 'gj')
       # result如果为true,则表示添加成功
       print(result)
    except Exception as e:
       print(e)
       
    #2.删
    #result = sr.delete('py1')
    #print(result)

    #3.改
    result = sr.set('py1','he')

    #4.查
    #如果建不存在,则返回None
    result = sr.get('py1')

    #5.获取建
    result = sr.keys()

     

  • 相关阅读:
    应用系统之间传输数据的几种方式
    解决
    springmvc httprequest 使用@Autowired注解
    JVM client模式和Server模式的区别
    延时接通电路
    C语言中getch()、getche()和getchar()
    结构体
    五:分布式事务一致性协议paxos的应用场景
    四:分布式事务一致性协议paxos通俗理解
    三:分布式事务一致性协议2pc和3pc
  • 原文地址:https://www.cnblogs.com/Deaseyy/p/10859825.html
Copyright © 2011-2022 走看看