Redis数据库常用命令

1、新增键值

a、设置键值
set key value

set name 'ming'

b、设置键值及过期时间,以秒为单位
setex key seconds value

ttl key 查看剩余消失的时间

setex name  10 'xiaoming' 

c、设置多个键值
mset key value [key value ……]

mset name "lili"  age 18  sex 'girl'

2、获取

a、根据键获取值,如果键不存在则返回None(null 0 nil)
​ get key

get name

b、根据多个键获取多个值
mget key [key ……]

mget name age

3、运算

要求:值是字符串类型的数字

a、将key对应的值加1
​ incr key

incr score

b、将key对应的值减1
​ decr key

decr score

c、将key对应的值加整数
​ incrby key intnum

incrby score 10

d、将key对应的值减整数
​ decrby key intnum

decrby score  20

4、其它操作

a、追加值,并返回字符串的长度,若name不存在则创建一个
​ append key value

append name "hello"

b、获取值长度
​ strlen key

strlen name

key

1、查找键,参数支持正则

​ keys pattern

#查询所有的键  【*代表任意多个任意字符】
keys  *
#查询以n开头所有的键
keys n*
#查询以n结尾的所有的键
keys *n
2、判断键是否存在,如果存在返回1,不存在返回0

​ exists key

exists name
3、查看键对应的value类型

​ type key

#查看键对应值的类型
type name
4、删除键及对应的值,若键存在,删除成功,则返回删除成功的个数,若键不存在,执行删除则返回0

​ del key [key ……]

#一次性删除一个key
del name
#一次性删除多个key
del name age
#注意:当key删除的同时,value也随之消失
5、设置过期时间,以秒为单位

​ expire key seconds

expire name 10
6、查看有效时间,以秒为单位,若键不存在,则返回-2,若键存在但是未设置过期事件则返回-1,若已设置过期事件,则返回剩余有效时间。

​ ttl key

ttl name
保存(持久化:)

​ save 保存到硬盘当中

​ bgsave 后台保存

hash

概述:hash用于存储对象

​ stu1 {
​ name:“tom”,
​ age:18
​ }

1、设置

a、设置单个值

#语法
hset key field value
例如:
hset  stu  name  'lili'

b、设置多个值

#语法
hmset key field value [field value ……]
例如:
hmset stu name 'lili'  age 18 
2、获取

a、获取一个属性的值

#语法
hget key field
例如:
hget stu name

b、获取多个属性的值

 #语法
 hmget key filed [filed ……]
 例如:
 hmget stu  name  age

c、获取所有属性和值

  #语法
  hgetall key
  例如:
  hgetall stu

d、获取所有属性

  hkeys key
  例如:
  hkeys stu

e、获取所有值

 hvals key
 例如:
 hvals stu

f、返回包含数据的个数,【对象属性的个数,或者hash的长度】

 hlen key 
 例如:
 hlen stu
3、其它

a、判断属性是否存在,存在返回1,不存在返回0

hexists key field
例如:
hexists stu  name

b、删除属性及值,删除成功则返回1,删除失败返回0

hdel key field [field ……]
例如:
hdel stu name age

c、返回值的字符串长度

#  hstrlen key field
# hstrlen stu name
注意:版本大于3.2的的才支持

list

概述:列表的元素类型为string,按照插入顺序排序,在列表的头部或尾部添加元素

1、新增

a、在头部插入

lpush key value [vlaue ……]
例如:
lpush list1  “good”  “nice” “great”

b、在尾部插入

 rpush key value [vlaue ……]
 例如:
 rpush list1 “haha” “呵呵呵”

c、在一个元素的前|后插入新元素

 linsert key before|after pivot value
 例如:
 linsert list1 before “haha”  “哈哈”
 linsert  list1 after  “haha”  “hehe”

d、设置指定索引的元素值,会覆盖指定的索引值的原本的值【使用此方法不会增加列表的长度】{更新某个index的值}

  lset key index value
  例如:
  lset list1 0  “啊哈哈”

注意:index从0开始
注意:索引值可以是负数,表示偏移量是从list的尾部开始,如-1表示最后一个元素

2、获取

a、移除并返回key对应的list的第一个元素

lpop key
例如:
lpop list1

b、移除并返回key对应的list的最后一个元素

 rpop key
 例如:
 rpop list1

c、返回存储在key的列表中的指定范围的元素

 lrange key start end
 例如:
 lrange list1 0 4

​ 注意:start end都是从0开始
​ 注意:偏移量可以是负数

3、其它

a、裁剪列表,得到的新集合为原集合的一个子集,并且覆盖原集合【类似于批量删除】

 ltrim key start end
 例如:
 ltrim  list1 0 3 

​ 注意:start end都是从0开始
​ 注意:偏移量可以是负数
b、返回存储在key里的list的长度

 llen key
 例如:
 llen list1

c、返回列表中索引对应的值

 lindex key index
 例如:
 lindex list1 0
五、set

概述:无序集合,元素类型为String类型,元素具有唯一性,不重复

1、设置

​ a、添加元素

​ b 删除元素

​ 语法

​ del key

  sadd key member [member ……]
  例如:
  sadd set1  12  34  45  66
2、获取

a、返回key集合中所有元素

 smembers key
 例如:
 smembers set1

b、返回集合元素个数

scard key
例如:
scard set1
3、交集

a、求多个集合的交集

 sinter key [key ……]
 例如:
 sinter set1 set2

b、求多个集合的差集 ,返回 key1的差集

sdiff key1 [key ……]
例如:
sdiff  set1 set2

c、求多个集合的合集【并集】

    sunion key [key ……]
    例如:
    sunion set1 set2

d、判断元素是否在集合中,存在返回1,不存在返回0

 sismember key member
 例如:
 sismember set1  12
六、zset
1、增

​ a、添加

#语法
zadd key score member [score member ……]
#示例
zadd z1 1 a 5 b 3 c 2 d 4 e
2、获取

a、返回指定范围的元素

zrange key start end

b、返回元素个数

 zcard key

c、返回有序集合key中,score在min和max之间的元素的个数

 zcount key min max

d、返回有序集合key中,成员member的score值

zscore key member

与python交互

import redis

#连接
r = redis.StrictRedis(host="localhost", port=6379)

#方法1:根据数据类型的不同,调用响应的方法
#写
#r.set("p1", "good")
#读
#print(r.get("p1"))

#方法2:pipeline
#缓冲多条命令,然后依次执行,减少服务器-客户端之间的TCP数据包
pipe = r.pipeline()
pipe.set("p2", "nice")
pipe.set("p3", "handsom")
pipe.set("p4", "cool")
pipe.execute()

对redis进行封装

import redis


class HelperRedis():
    def __init__(self, passwd, host="localhost", port=6379):
        self.__redis = redis.StrictRedis(host=host, port=port, password=passwd)

    def set(self, key, value):
        self.__redis.set(key, value)
        
    def get(self,key):
        if self.__redis.exists(key):
            return self.__redis.get(key)
        else:
            return ""
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值