当前位置: 首页 > 科技观察

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

时间:2023-03-12 13:52:04 科技观察

RedisRedis是一个开源的、日志型、Key-Value数据库,用ANSIC语言编写,支持网络,可以基于内存,也可以持久化,提供多种语言的API.自2010年3月15日起,Redis的开发由VMware托管。自2013年5月起,Redis的开发由Pivotal赞助。Redis特性Redis支持数据持久化,可以将内存中的数据保存到磁盘中,重启时可以再次加载使用。Redis不仅支持简单的key-value类型数据,还可以将value分成list、set、zset、hash等数据结构进行存储。由于Redis交换数据速度快,所以在服务器中经常使用它来存储一些需要经常检索的数据,以提高效率。Redis的安装在Linux下安装Redis非常简单。主要命令如下:Redis数据库需要gcc编译,所以第一步先检查是否安装了gcc环境[root@VM_0_16_centos~]#rpm-qa|grepgcc*//没有安装。[root@VM_0_16_centos~]#yuminstallgcc-c++创建目录,下载源码(通过华为镜像),解压源码[root@VM_0_16_centosredis]#mkdir/usr/lib/redis[root@VM_0_16_centosredis]#cd/usr/lib/redis/[root@VM_0_16_centosredis]#wgethttps://mirrors.huaweicloud.com/redis/redis-5.0.5.tar.gz[root@VM_0_16_centosredis]#tar-zxvfredis-5.0.5.tar.gz进入文件夹,编译[root@VM_0_16_centosredis]#cd./redis-5.0.5/[root@VM_0_16_centosredis-5.0.5]#make如果以上4条命令安装正常,说明make编译成功!修改配置文件1.更改源代码目录下的redis配置文件将redis.conf复制到/usr/local/software/redis/目录下。cpredis.conf/usr/local/software/redis/2、根据需要修改配置项;如果不修改,也可以安装默认配置,查看是否安装了该服务[root@VM_0_16_centosredis-5.0.5]#makePREFIX=/usr/local/redisinstall//查看是否有该服务[root@VM_0_16_centosbin]#ls/usr/local/redis/binredis-benchmarkredis-check-aofredis-check-rdbredis-cliredis-sentinelredis-server//解压目录复制以下配置文件到安装路径[root@VM_0_16_centosusr]#cp/usr/lib/redis/redis-5.0.5/redis.conf/usr/local/redis///因为前端启动模式不能随意关闭(进程断开连接),所以需要配置后端模式为启动以下,配置Redis外网访问,修改后端启动(即开启daemon进程),取消ip绑定[root@VM_0_16_centos~]#vim/usr/local/redis/redis.conf注释退出bind127.0.0.1或更改为bind0.0.0.0#bind127.0.0.1将protected-modeyes更改为#closeprotectedmodeprotected-modenochangedaemonizenosetpasswordfordaemonizeyesrequirepassrequiresaverylongpasswordtostart,并指定配置文件[root@VM_0_16_centos~]#cd/usr/local/redis/[root@VM_0_16_centosredis]#./bin/redis-server./redis.conf1675:C15Sep201922:50:52.157#oO0OoO0OoO0OoRedisisstartingoO0OoO0OoO1925:0C:0C:52.157#Redisversion=5.0.5,bits=64,commit=00000000,modified=0,pid=1675,juststarted1622:1507:C195SepConfigurationloaded查看服务是否通过端口(6379)启动[root@VM_0_16_centosredis]#ps-ef|grepredisroot16761022:50?00:00:00./bin/redis-server*:6379root19001219022:52pts/600:00:00grep–color=autoredis本地客户端连接和redis服务关闭[root@VM_0_16_centosredis]#./bin/redis-cli127.0.0.1:6379>eixt[root@VM_0_16_centosredis]#./bin/redis-clishutdownconnectviaexternal(ip),(需要开启云服务器对应端口)[root@VM_0_16_centosredis]#./bin/redis-cli-h49.ip.ip.2-p6379-apasswordWarning:Usingapasswordwith'-a'or命令行界面上的“-u”选项可能不安全。49。ip.ip.2:6379>以上步骤参考:在腾讯云服务器上安装redis,https://cloud.tencent.com/developer/article/1532497Redis数据模型Redis支持五种数据类型:string(字符串)、hash(Hash)、列表(list)、集合(set)和zset(sortedset:有序集合)。String------>StringHash------>HashList------>Listset------>SetZset------>Orderedsetconnectionredis:redis-cli退出:exit运行服务器:serviceredisstart/stop/restart切换数据库:选择nRedis五大数据类型使用全局键操作对所有五种数据类型使用命令查看所有键:键*删除键值右键:delkey重命名:renamekeynew_key设置过期时间:expirekeysecondsString类型字符串是redis最基本的数据类型,一个key对应一个value设置数据:setkeyvalue查看数据:getkey追加数据:appendkeyvalue删除数据:delkey;List类型添加数据:rpushkeyvalue[value...]lpushkeyvalue[value...]向head添加数据查看数据:lrangekeystartstoplindexkeyindex查看某条数据修改数据:lsetkeyindexvalue删除数据:rpopkeylpopkeyhead删除数据Hash类型添加数据:hsetkeyfieldvalue查看字段值:hgetkeyfieldhgetallkey查看所有字段和值查看所有值:hvalskey查看所有字段:hkeyskeySet类型添加数据:saddkeymember[member...]查看数据:smemberskey随机删除:spopkey指定删除:sremkeymember[member...]SortedSet键入添加数据:zaddkeyscoremember[score2member2...]查看数据:zrangekeystartstopzrangebyscorekeyminmax按分数值查看已删除的数据:zremkeymember[member...]按索引删除多个数据:zremrangebyrankkeyminmaxzremrangebyscorekeyminmax--?按scores值删除"flushalldeletealldata"Redis可视化我用的是redis桌面管理器,应该是使用最广泛的可视化工具了。下载链接是:https://rdm.dev/pricing。Python连接redisPython连接redis数据库库是redis,不是Pyredis。安装:pipinstallredisPython在连接redis之前,确保Redis的外网访问配置成功。importredis#普通连接conn=redis.Redis(host="192.168.92.90",port=6379,password="123456")conn.set("x","hello")val=conn.get("x")print(val)#helloimportredis#connectionpoolpool=redis.ConnectionPool(host="192.168.23.166",port=6379,password="123456",max_connections=1024)conn=redis.Redis(connection_pool=pool)打印(conn.get("x1"))本文已被GitHub收录:https://github.com/MaoliRUNsen/runsenlearnpy100