0
点赞
收藏
分享

微信扫一扫

Redis的安装及其使用

日月同辉9908 2022-05-03 阅读 25

文章目录

➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖

一、Redis的安装

Redis作为一款目前这个星球上性能最高的非关系型数据库之一. 拥有每秒近十万次的读写能力. 其能力只能用恐怖来形容.
Redis的安装包可以去我的主页资源中去下载
1️⃣解压压缩包,解压完毕之后如下图:
在这里插入图片描述
2️⃣配置PATH环境变量

在这里插入图片描述
3️⃣用记事本打开 redis.windows.conf

  1. 关闭bind

    # bind 127.0.0.1 ::1  # 注释掉它
    

    在这里插入图片描述

  2. 关闭保护模式 windows不用设置

    protected-mode no    # 设置为no
    
  3. 设置密码

    requirepass 123456   # 设置密码
    

    在这里插入图片描述
    温馨提示:不要忘记保存哦
    4️⃣将redis添加到windows服务必须进入到redis目录后才可以

# 将redis安装到windows服务
redis-server.exe --service-install redis.windows.conf --loglevel verbose
# 卸载服务:
redis-server --service-uninstall
# 开启服务:
redis-server --service-start
# 停止服务:
redis-server --service-stop

步骤如下图:
在这里插入图片描述在这里插入图片描述在这里插入图片描述
到这里Redis就已经安装成功,并且可以启动
RDM(redis desktop manager)可以帮我们完成redis数据库的可视化操作(需要就装, 不需要就算了, windows建议安装)
RDM的安装非常简单,就是傻瓜式的下一步即可,可以更改路径
接下来就是RDM的使用步骤:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这16个随便选,哪一个都可以
在这里插入图片描述

二、Redis的操作

  1. 整个redis的数据库可以看做一个超大号的大字典
    redis中常见的数据类型有5个.

    命令规则: 命令 key 参数

    1. string

      字符串,redis最基础的数据类型.
      相当于python中的{key:value},只不过redis使用空格分隔

      常用命令

      set key value  # 添加一条数据
      get key		   # 查看一条数据
      incr key       # 让该key对应的数据自增1(原子性, 安全)
      incrby key count     # 让该key对应的value自增 count 
      type key		# 查看数据类型(set进去的东西一律全是字符串)
      

      例如

      set name zhangsan  # 添加数据  name = zhangsan
      get name		# 查看数据 zhangsan
      
      set age 10
      get age 	# 10
      incr age	# 11
      get age 	# 11
      incrby age 5	# 16
      
    2. hash(哈希)
      相当于python中的{key:{key1:val1,key2:val2}},只不过redis使用空格分隔

      常见操作

      hset key k1 v1   # 将k1, v1存储在key上
      hget key k1      # 将key上的k1提取出来
      hmset key k1 v1 k2 v2 k3 v3....  # 一次性将多个k,v存储在key
      hmget key k1 k2....# 一次性将key中的k1, k2...提取出来
      hgetall key 	# 一次性将key中所有内容全部提取
      hkeys key		# 将key中所有的k全部提取
      hvals key 		# 将key中所有的v全部提取
      

      示例:

      HMSET stu id 1 name yeti age 18
      HMGET stu name age   # yeti 18
      HGETALL stu		    # id 1 name yeti age 18
      HKEYS stu 	# id name age
      HVALS stu   # 1 syalr 18
      
    3. list

      列表, 底层是一个双向链表. 可以从左边和右边进行插入. 每次插入时都要记得这是一个双向链表
      相当于python中的{key:[val1, val2, val3]},只不过redis使用空格分隔

      常见操作

      LPUSH key 数据1 数据2 数据3.... # 从左边插入数据
      RPUSH key 数据1 数据2 数据3.... # 从右边插入数据
      LRANGE key start stop     # 从start到stop提取数据. 
      
      LLEN key	# 返回key对应列表的长度
      LPOP key        # 从左边删除一个.并返回被删除元素
      RPOP key		# 从右边删除一个.并返回被删除元素
      

      示例:

      LPUSH banji yiban erban sanban siban
      LRANGE banji 0 -1   # yiban erban sanban siban
      RPUSH ban ban1 ban2 ban3
      LRANGE ban 0 -1     # ban1 ban2 ban3
      LPOP ban  # ban1
      LLEN key  # 2
      
    4. set

      set是无序的超大集合. 无序, 不重复.

      常见操作

      SADD key 值   # 向集合内存入数据
      SMEMBERS key  # 查看集合内所有元素
      SCARD key # 查看key中元素的个数
      SISMEMBER key val  # 查看key中是否包含val
      SUNION key1 key2  # 并集
      SDIFF key1 key2  # 差集合, 在key1中, 但不在key2中的数据
      SINTER key1 key2 # 计算交集, 在key1和key2中都出现了的
      SPOP key  # 随机从key中删除一个数据
      SRANDMEMBER key count # 随机从key中查询count个数据
      

      实例:

      SADD stars 刘亦菲 杨幂 迪丽热巴 新木优子   # 4
      SADD stars 杨幂    # 0. 重复的数据是存储不进去的.
      SMEMBERS stars   # 刘亦菲 杨幂 迪丽热巴 新木优子
      SISMEMBER stars 杨幂  #  1 在  0 不在
      
      SADD my 周杰伦 杨幂 新木优子  
      SINTER stars my  # 计算交集  杨幂 新木优子
      
      SPOP my  # 随机删除一个
      SRANDMEMEBER my 2   # 从集合总随机查看2个
      
      
    5. zset

      有序集合, 有序集合中的内容也是不可以重复的. 并且存储的数据也是redis最基础的string数据. 但是在存储数据的同时还增加了一个score. 表示分值. redis就是通过score作为排序的规则的.

      常用操作

      ZADD key s1 m1 s2 m2 ... # 向key中存入 m1 m2 分数分别为s1 s2
      ZRANGE key start stop [withscores]   # 查看从start 到stop中的所有数据 [是否要分数]
      ZREVRANGE key start stop # 倒叙查看start到stop的数据
      ZCARD key   # 查看zset的数据个数
      ZCOUNT key min max  # 查看分数在min和max之间的数据量
      ZINCRBY key score member  # 将key中member的分值score
      ZSCORE key m  # 查看key中m的分值
      

      示例:

        ZADD fam 1 sylar 2 alex 3 tory  # 添加三个数据
        ZRANGE fam 0 -1 WITHSCORES # 正序查看
        ZREVRANGE fam 0 -1 WITHSCORES   # 倒叙查看
        ZINCRBY fam 10 yeti  # 给yeti加10分
        ZADD fam 100 yeti   # 给yeti修改分数为100分
        ZSCORE fam yeti   # 查看yeti的分数
        ZCARD fam    # 查看fam的数据个数
      

温馨提示: 数据保存完一定要save一下, 避免数据没有写入硬盘而产生数据丢失

三、彩蛋✨

1. python连接redis

​ python处理redis使用专用的redis模块. 需要安装.

pip install redis

​ 获取连接(1)

from redis import Redis

red = Redis(host="127.0.0.1",  # 地址
            port=6379,   # 端口
            db=0,   # 数据库
            password=123456,  # 密码
            decode_responses=True)  # 是否自动解码

​ 获取连接(2)

pool = redis.ConnectionPool(
        host="127.0.0.1",  # 地址
        port=6379,   # 端口
        db=0,   # 数据库
        password=123456,  # 密码
        decode_responses=True
)

r = redis.Redis(connection_pool=pool)
print(r.keys())

python中的操作的redis中的操作非常相像

import redis

red = redis.Redis(
    host="127.0.0.1",
    port=6379,
    password="123456",
    db=1,  # 选择数据库编号
    decode_responses=True
)

# red.set("name", "小白")
# red.save()

# r = red.get("name")
# print(r)

# red.hset("xiao", "bai", "新")
# red.hset("xiao", "age", 18)
# red.save()

# r = red.hmget("xiao", "bai", "age")
# print(r)

# r = red.hgetall("xiao")
# print(r)


# red.lpush("stu", "新木优子", "刘亦菲", "杨幂")
# red.save()

# r = red.lrange("stu", 0, -1)
# print(r)

# red.sadd("teachers", "古力娜扎", "迪丽热巴", "蜡笔小新")
# red.save()

# r = red.smembers("teachers")
# print(r)

# red.zadd("ren", {"刘亦菲": 10, "杨幂": 15, "杨颖": 5})
# red.save()

# r = red.zrange("ren", 0, -1)
# print(r)

r = red.zrange("ren", 0, -1, withscores=True)
print(r)
举报

相关推荐

0 条评论