zoukankan      html  css  js  c++  java
  • Redis安装及五种数据类型

    redis是非关系型数据库,也叫内存数据库。数据是键值对的形式,通过key查找value

    安装Radis:6379

    sudo apt-get update

    sudo apt-get install redis-server

    redis-cli  # 启动redis

    python连接redis 需要修改redis端口号

    1. sudo vim  /etc/redis/redis.conf  # 找到bind 改端口为 0.0.0.0
    2. netstat -ntl  # 查看端口号,这是并没有变为 0.0.0.0
    3. sudo service redis-server restart  # 需要重启服务
    4. netstat -ntl  #现在端口就变成0.0.0.0了

    五种数据类型:

    1. string  字符串
    2. list  列表
    3. hash 哈希
    4. set 集合
    5. zset 有序集合
    1.# String的操作
    
    # 设置字符串 set key value
    set name Which
    
    # 查看字符串 get key
    get name
    
    # 查看所有的键  
    keys *
    
    # 判断key 是否存在 exists key
    exists name
    
    # 查看建的类型 type keyxi
    type name
    
    # 给name追加值
    append name 18
    
    # 删除 del key
    del name
    
    # 同时设置多个str  mset key value key1 value1
    mset name Which age 18 address "潭州学院"
    # 同时查看多个key  mget key key1...
    mget name age address
    
    # 设置过期时间
    expire name 15
    
    # 查看过期时间
    ttl name
    
    # 运算
    # +1 incr key
    incr age
    # -1 decr key
    decr age
    # + 整数 incrby key num
    incrby age 2
    # - 整数 decrby key num
    decrby age 3

    2.list

    2.# list的操作
    # 设置list
    # 左添加 
    lpush my_list 1 2 3 4
    # 右添加 
    rpush my_list1 1 1 2 3 4 1
    
    # 查看 lrange key start end
    lrange my_list 0 -1
    lrange my_list1 0 -1
    
    # 获得list元素个数 llen key
    llen my_list
    
    # 查看该位置上的元素是lindex 索引
    lindex my_list 0
    
    
    # 删除
    
    # 左删除一个 lpop key
    lpop my_list1 
    # 右删除一个 rpop key
    rpop my_list1
    # 指定删除 lrem key count value
    lrem my_list1 2 1    #左往右删除两次 1
    # lrem my_list1 0 1    # count=0 删除所以的 1
    # lren my_list1 -2 1   # 从右往左删除两次 1

    3.hash

    3.# hash
    # 设置 hset key field values
    hset account name Which
    # 获取 hget key field
    hget account name
    # 删除 hdel key field
    hdel account name
    
    
    
    
    # 设置多个 hmset key field value [field value]
    hmset user name Tom age 21 address school
    # 获取多个 hmget key field [field]
    hmget user name age address
    # 获取全部 hgetall key
    hgetall user
    # 获取field 的个数 hlen key
    hlen user

    4.set

    4. # set
    # 设置 sadd key value value1...
    sadd my_set 1 2 3 4 1 2 4
    # 查看 smembers key
    smembers my_set
    # 删除
    #指定删除 srem key member
    srem my_set 4
    #随机删除 spop key
    spop my_set
    
    # 移动一个集合的member到另一个集合 smove oldkey newkey members
    sadd new_set 1 2
    smove my_set new_set 3 
    
    # 判断集合中存在某个值 sismember key value
    sismember my_set 1 
    
    # 并集 sunion key1 key2
    # 将key1 key3的并集合并到newkey
    sunionstore newkey key1 key2
    
    # 差集 sdiff key1 key2
    # 把key1 key2 的差集合并到newkey
    sdiffstore newkey key1 key2
    
    # 获取集合的个数
    scard key
    #随机返回一个
    srandmember key

    5.zset

    5.zset
    # 设置 zadd key score member  索引+值
    zadd z_set 111 D 3 S 1 G
    # 获取
    #正序 zrange key strat stop
    zrange z_set 0 -1
    #反序 zrevrange key start stop
    zrevrange z_set 0 -1
    
    # 删除 zrem key member
    zrem z_set G
    
    zadd z_set1 2 b 5 d 3 c 1 a
    # 索引
    # 正序 获得该元素在有序集合中的索引值 zrank key member
    zrank z_set1 a
    # 反序 zrevrank key member
    zrevrank z_set1 a
    
    # 查看有序集合元素数 zcard key 
    zcard z_set1
    # 返回在建表给的索引区间min-max之间的值的个数 zcount key min max
    zcount z_set1 1 2
    
    # 查看建立zset给的索引score值 zscore member
    zscore z_set1 a
  • 相关阅读:
    JAVA面试题
    Oracle入门笔记 ——启动进阶
    SQL 基础
    BZOJ 1507 Editor(块状链表)
    BZOJ 1018 堵塞的交通traffic(线段树)
    SPOJ 422 Transposing is Even More Fun(polay计数)
    BZOJ 2754 喵星球上的点名(后缀数组)
    POJ 1568 Find the Winning Move(极大极小搜索)
    Miller-Rabin素数测试学习小计
    Lucas定理学习小记
  • 原文地址:https://www.cnblogs.com/tangpg/p/8137249.html
Copyright © 2011-2022 走看看