redis一文入门

        Redis 是一个开源的内存数据结构存储系统,它可以用作数据库、缓存和消息代理。Redis 支持多种数据结构,包括字符串、哈希、列表、集合和有序集合。它非常高效,广泛用于需要快速读写操作的应用场景。

一、redis启动

1、启动Redis服务器

        打开命令提示符(CMD)窗口,并进入Redis安装目录下的src文件夹。然后运行以下命令来启动Redis服务器:

redis-server
 

2、启动redis客户端

        另打开一个命令提示符(CMD)窗口,然后运行以下命令来启动Redis客户端:

redis-cli
 

Redis 客户端的启动指令选项主要包括:

  • redis-cli:启动 Redis 命令行客户端。
  • -h :指定 Redis 服务器的主机名或 IP 地址,默认是 localhost
  • -p :指定 Redis 服务器的端口号,默认是 6379
  • -a :指定 Redis 服务器的密码。
  • -n :选择数据库,指定数据库索引(0-15)。
  • --pipe:以管道模式运行,适用于批量操作。
  • --scan:扫描数据库中的所有键。

 二、在pycharm上对redis的操作

1、下载redis

pip install redis
 

安装完redis-py后,您可以通过以下Python代码来启动Redis客户端:

import redis

# 创建Redis客户端
r = redis.Redis(host='localhost', port=6379, db=0)

# 连接Redis服务器
r.ping()

# 执行Redis命令
r.set('key', 'value')
value = r.get('key')

# 关闭Redis连接
r.close()
 

在以上代码中,我们首先通过redis.Redis()函数创建一个Redis客户端对象。参数hostport指定了Redis服务器的主机和端口,db参数指定了要连接的数据库编号(默认为0)。

2、redis的五种数据类型

Redis有五种主要的数据类型:

  • String(字符串):Redis的最基本的数据类型,一个key对应一个value。

  • List(列表):一个链表,链表中的每个节点都包含一个字符串,按照插入顺序排序。

  • Hash(哈希表):由键值对组成的无序散列表,适用于存储对象。

  • Set(集合):无序的字符串集合,不允许有重复的元素。

  • Sorted Set(有序集合):和集合类似,但每个元素都会关联一个浮点数分数,根据分数进行排序。

 3、redis数据的操作

String(字符串)的相关操作:

# 设置字符串的键值对
client.set("name", "龙仔")

# 获取指定键的值
client.get("name")

# 设置多个字符串的键值对
client.mset({
    "id": 101,
    "age": 20
})

# 获取多个指定键的值
print(client.mget(["name", "id", "age"]))

# 设置有效期 中间的是设置时间 20s
client.setex("name", 20, "龙仔")

List(列表)的相关操作:

# 添加值
# client.lpush("key_list", 1, 2, 3, 4)
# client.rpush("key_list", 0, -1, -2)

# 删除值
# print(client.lpop("key_list"))
# print(client.rpop("key_list"))

# 值的数量
# print(client.llen("key_list"))

# 取得返回下标的值
# print(client.lrange("key_list", start=0, end=4))

# 取得单个下标的值
# print(client.lindex("key_list", 5))

# 切片,保留索引范围内的值
# client.ltrim("key_list", start=2, end=7)

Hash(哈希表)的相关操作:

# 插入键值对
# client.hset("key_hash", "key1", "雕龙")
# client.hmset("key_hash", {"key2": "龙仔", "key3": "吊宇"})

# 获取键值对
# print(client.hget("key_hash", "key1"))
# print(client.hgetall("key_hash"))

# 删除键值对
# client.hdel("key_hash", "key1")

# 获取键值对的个数
# print(client.hlen("key_hash"))

# 获取所有键
# print(client.hkeys("key_hash"))

# 获取所有的值
# print(client.hvals("key_hash"))

Set(集合)的相关操作:

# 添加
# client.sadd("key_set", 2, 3, 4, 5)

# 删除
# client.srem("key_set", 1, 2, 3)

# 获取所有的值
# print(client.smembers("key_set"))

# 获取单个值是否在集合中
# print(client.sismember("key_set", "4"))

# 获取集合中值的个数
# print(client.scard("key_set"))

# # 集合的交集
# print(client.sinter(["key_set", "key_set1"]))

# # 集合的并集
# print(client.sunion(["key_set", "key_set1"]))

# # 集合的差集
# print(client.sdiff(["key_set", "key_set1"]))

 Sorted Set(有序集合)的相关操作:

# 添加值和权重
# client.zadd("key_zset", {"吊宇": 0, "雕龙": -1, "浩坤": 100})

# 删除值
# client.zrem("key_zset", "吊宇")

# 根据权重获取对应范围内的值
# print(client.zcount("key_zset", 0, 100))

# 根据索引取得返回内值
# print(client.zrange("key_zset", 0, 1))

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