Redis超全语法大全,你值得拥有

Redis window安装教程

一、介绍

其指的是非关系型数据库,是对不同于传统的关系型数据库的数据库管理的统称。
Redis,以字典结构存储数据,并允许其他应用通过TCP协议读写字典中的内容。使用C语言编写,并以内存作为数据存储介质,所以读写效率极高

  1. Redis支持数据持久化存储,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载使用
  2. Redis不仅仅支持简单的key-vlue类型的数据,同时把value分为list、set、zset、hash等数据结构
  3. Redis交换数据快,所以在服务器中常用来存储一些需要频繁调取的数据,提高效率
二、数据库操作

Redis默认支持16个数据库,从0开始的递增数字命名;操作数据库之前先运行redis-cli.exe或者命令行工具运行redis-cli或者redis-cl --raw,命令行工具运行redis-cli和redis-cl --raw需要配置环境变量,redis-cl --raw 获取数据是中文不会显示乱码

  1. 切换数据库:SELECT
    SELECT 0
    
  2. 设置键和值(字符串类型):SET key value、MSET key value key value
    SET test a #设置一个键值
    MSET test1 b test2 c #设置多个键值
    APPEND test 1  #在原有的字符串基础上拼接一个字符串,APPEND key value
    GET test  #存在返回对应的value值,没有返回null表示空的意思,GET key
    MGET test1 test2  #同时获得多个,MGET key1 key2
    STRLEN test #获取字符串长度,STRLEN key
    SET test3 3 g#设置键值并设置过期时间SETEX key seconds value
    
  3. 修改数字键值:INCR key、DECP key、INCRBY key value、DECRBY key value
    INCR test_num  # 加一
    DECP test_num  # 减一
    
    INCRBY test_num 10 #加10
    
    DECRBY test_num 10
    #减10
    
  4. 设置键和值(列表类型):LPUSH key value1 value 2 value3、RPUSH key value1 value 2 value3
    LPUSH test_list 3 4 5 #LPUSH 左边添加(栈 先进后出)
    LPUSH test_list 3 4 5 #RPUSH 右边添加(队列 先进后出)
    LLEN test_list #查看列表长度,LLEN key
    LINDEX test_list 3 #查看指定位置的元素,LINDEX key index
    LRANGE test_list 0 -1 #获取部分元素,LRANGE key startIndex endIndex,index可以为负数
    LPOP test_list #获取列表中的第一个元素
    RPOP test_list #获取列表中的最后一个元素
    RPOP test_list 0 1 #删除元素,LREM key count value,删除指定value值,count可以指定删除个数负数时从列表右边开始
    
  5. 设置键和值(哈希类型):HSET key field value、HMSET key field value field value
    HSET test_h name zhangsan #添加name字段值为zhangsan
    HSET test_h age 20 #添加age字段值为w0
    HMSET test_h gender man job xuesheng #添加多个字段
    HGET test_h name #获取字段值,HGET key field
    HMGET test_h name age  #获取多个字段值,HMGET key field1 field2
    HKEYS test_h  #获取所有key,HKEYS key
    HVALS test_h #获取所有value,HVALS key
    HGETALL test_h  #获取所有键值对,HGETALL key
    HLEN test_h #获取filed个数,HLEN key
    HEXISTS test_h name #判断字段是否存在,HEXISTS key field
    HINCRBY test_h age 2 #年龄增加2岁,HINCRBY key field value
    HDEL test_h job #删除字段,可以删除多个,HDEL key field1 field2
    
  6. 设置键和值(集合类型):SADD key value value
    SADD test_set 1 2 3 #添加元素
    SREM test_set 3 #删除元素,SREM key value1 value2 value3
    SPOP test_set 1 #随机删除元素,SPOP key count
    SISMEMBER test_set 1 #判断元素是否存在,SISMEMBER key value
    SMEMBERS test_set #获取所有元素,SMEMBERS key
    SCARD test_set #获取元素集合个数,SCARD key
    SRANDMEMBER test_set 2#随机获取count 个数元素 count 为正数,返回count个不重复数,为负数可能出现重复数据,SRANDMEMBER key count
    SINTER test_set test_set1 #取多个集合交集,SINTER key1 key2 key3
    SINTERSTORE test_set3 test_set test_set1 #取多个集合交集并保存,SINTERSTORE saveKey key1 key2 key3
    SUNION test_set test_set1 #取多个集合并集,SUNION key1 key2 key3
    SUNIONSTORE test_set3 test_set test_set1 #取多个集合并集并保存,SUNIONSTORE saveKey key1 key2 key3
    SDIFF test_set test_set1 #取多个集合差集,SDIFF key1 key2 key3
    SDIFFSTORE test_set3 test_set test_set1 #取多个集合差集并保存,SDIFFSTORE saveKey key1 key2 key3
    
  7. 设置键和值(有序集合类型):ZADD key score member score member score member
    ZADD yuwen 90 zhangsan 86 lisi 78 wangwu #添加元素
    ZCARD yuwen #获取元素个数,ZCARD key
    ZSCORE yuwen zhangsan #获取元素分数,ZSCORE key member
    ZRANGE yuwen 0 1 2  #从下到大获取member,ZRANGE key start stop [WITHSCORES],WITHSCORES获取多少个
    ZREVRANGE yuwen 0 1 2  #从大到小获取member,ZREVRANGE key start stop [WITHSCORES],WITHSCORES获取多少个
    ZREM yuwen lisi #移除元素,ZREM key member
    ZRANGEBYSCORE yuwen 70 80 #获取指定分数范围的元素,ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]
    ZRANGEBYSCORE yuwen 70 (80 LIMIT 1 2 # 不取80,同时指定1到2位置查找
    ZCOUNT yuwen 70 80 #获取指定分数范围的元素个数,ZCOUNT key min max
    ZINCRBY yuwen 5 lisi #增加某个元素的分数,ZINCRBY key score member
    ZREMRANGEBYSCORE test (60 80 #删除分数大于60小于80的元素,按照范围删除元素, ZREMRANGEBYRANK key start stop
    ZINTERSTORE youxiu 2 yuwen shuyu #获取有序集合的交集,ZINTERSTORE saveKey numkeys key [key…][WEIGHTS weight[weight…]] [AGGREGATE SUM|MIN]
    
  8. 获取键名和值:KEYS
    KEYS * #查询全部
    KEYS "test*" #通配符查询
    
  9. 判断键是不是存在:EXISTS key
    EXISTS test
    
  10. 重命名键:RENAME old_key new_key
    RENAME test test1
    
  11. 设置键过期时间:EXPIRE key seconds, seconds=-1表示删除
    EXPIRE test 3
    
  12. 查看键时间:TTL key,-1表示永久,-2表示不存在
    TTL test
    
  13. 设置键为永久:PERSIST key
    PERSIST test
    
  14. 获取键值类型:TYPE key
    TYPE test
    
  15. 删除键:DEL key1 key2、FLUSHALL
    #不支持通配符
    DEL test1
    #支持通配符
    redis-cli DEL redis-cli KEYS "test1*"
    #清空
    FLUSHALL
    

你可能感兴趣的:(redis,数据库)