Redis数据库学习提高工作效率

网友投稿 663 2023-05-22

Redis数据库学习提高工作效率

Redis数据库学习提高工作效率

Redis

Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。

从2010年3月15日起,Redis的开发工作由VMware主持。从2013年5月开始,Redis的开发由Pivotal赞助。

Redis特性

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

Redis安装

在Linux下安装Redis非常简单,主要命令就下面4个:

Redis数据库需要gcc编译,因此第一步检查是否安装gcc环境

[root@VM_0_16_centos ~]# rpm -qa|grep gcc* //无则安装。 [root@VM_0_16_centos ~]# yum install gcc-c++

创建目录,下载源码(通过***镜像),解压源码

进入文件夹,编译

[root@VM_0_16_centos redis]# cd ./redis-5.0.5/ [root@VM_0_16_centos redis-5.0.5]# make

上面4命令如果安装正常的话代表make编译成功了!

修改配置文件

1、将源码目录下redis配置文件redis.conf拷贝到/usr/local/software/redis/目录下。cp redis.conf /usr/local/software/redis/ 2、修改配置项,根据需要;如果不修改,使用默认配置也可以

安装,并检查是否安装了服务

[root@VM_0_16_centos redis-5.0.5]# make PREFIX=/usr/local/redis install //查看是否有此服务 [root@VM_0_16_centos bin]# ls /usr/local/redis/bin redis-benchmark  redis-check-aof  redis-check-rdb  redis-cli  redis-sentinel  redis-server //把解压目录下配置文件复制到安装路径下  [root@VM_0_16_centos usr]# cp /usr/lib/redis/redis-5.0.5/redis.conf  /usr/local/redis/ // 由于前端启动模式启动后不可以随意关闭(进程断开),所以需要配置后端模式启动

下面,配置Redis外网访问,修改后端启动(即守护进程开启),取消ip绑定

[root@VM_0_16_centos ~]# vim /usr/local/redis/redis.conf 注释掉bind 127.0.0.1 或改为bind 0.0.0.0 #bind 127.0.0.1 更改protected-mode yes为 # 关闭保护模式 protected-mode no  更改daemonize no为 daemonize yes

设置密码requirepass 要很长的密码

启动,并指定配置文件

通过端口(6379)查看服务是否启动

[root@VM_0_16_centos redis]# ps -ef|grep redis root     1676     1  0 22:50 ?        00:00:00 ./bin/redis-server *:6379 root      1900  1219  0 22:52 pts/6    00:00:00 grep –color=auto redis

本地客户端连接和redis服务关闭

[root@VM_0_16_centos redis]# ./bin/redis-cli 127.0.0.1:6379> eixt [root@VM_0_16_centos redis]# ./bin/redis-cli shutdown

通过外部(ip)连接,(需要开放云服务器相应端口)

Redis数据模型

Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。

String ------> 字符串Hash ------> 哈希List ------> 列表set ------> 集合Zset ------> 有序集合

连接redis:redis-cli退出:exit操作服务端:service redis start/stop/restart切换数据库:select n

Redis五大数据类型使用

全局key操作

对5 个数据类型都使用的命令

查看所有的key:keys * 删除键值对:del key 改名:rename  key  new_key 设置过期时间:expire key seconds

String类型

strings是redis最基本的数据类型,一个key对应一个value

设置数据:set  key  value 查看数据:get  key 追加数据:append  key  value 删除数据:del key;

List类型

添加数据:rpush key value [value…] lpush key value [value…]     头部添加数据  查看数据:lrange key start stop lindex key index      查看某个数据   修改数据:lset key index value 删除数据:rpop key lpop key 头部删除数据

Hash类型

添加数据:hset key field value  查看域值:hget key field hgetall key  查看所有的field和value 查看所有的value:hvals key 查看所有的field:hkeys key

Set类型

添加数据:sadd key member [member …] 查看数据:smembers key 随机删除:spop key 指定删除:srem key member [member …]

Sorted Set类型

添加数据:zadd key score member [score2 member2 …]  查看数据:zrange key start stop  zrangebyscore key min max 通过scores值查看 删除数据:zrem key member [member …] 通过索引删除多个数据:zremrangebyrank key min max zremrangebyscore key min max  -- 通过scores值删除

「flushall 删除所有数据」

Redis可视化

Python连接redis

Python连接redis数据库的库是redis,没有Pyredis。

安装:pip install redisPython连接redis前,确保配置Redis外网访问成功。

import redis  # 普通连接 conn = redis.Redis(host="192.168.92.90", port=6379,password="123456") conn.set("x","hello") val = conn.get("x") print(val) # hello   import redis  # 连接池 pool = redis.ConnectionPool(host="192.168.23.166", port=6379,password="123456",max_connections=1024) conn = redis.Redis(connection_pool=pool) print(conn.get("x1"))

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:MySQL数据克隆的用户权限设计
下一篇:为您的物联网系统选择合适的数据库的4个步骤
相关文章