Redis数据库 安装及操作教程

简介

Redis(REmote DIctionary Server) 是一个由Salvatore Sanfilippo写的key-value存储系统。

Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。 它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Map), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型。

Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。

Redis 与其他 key - value 缓存产品有以下三个特点:

Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
Redis支持数据的备份,即master-slave模式的数据备份。

Redis 优势

性能极高 – Redis能读的速度是110000次/s,写的速度是81000次/s 。
丰富的数据类型 – Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作。
原子 – Redis的所有操作都是原子性的,意思就是要么成功执行要么失败完全不执行。单个操作是原子性的。多个操作也支持事务,即原子性,通过MULTI和EXEC指令包起来。
丰富的特性 – Redis还支持 publish/subscribe, 通知, key 过期等等特性。

Redis应用场景

用来做缓存(ehcache/memcached)——redis的所有数据是放在内存中的(内存数据库) 可以在某些特定应用场景下替代传统数据库——比如社交类的应用 在一些大型系统中,巧妙地实现一些特定的功能:session共享、购物车 只要你有丰富的想象力,redis可以用在可以给你无限的惊喜…….

官方教程

http://www.redis.cn/documentation.html

GUI客户端

redis可视化工具
sudo snap install redis-desktop-manager

下载安装

Redis 版本号采用标准惯例:主版本号.副版本号.补丁级别,一个副版本号就标记为一个标准发行版本,例如 1.2,2.0,2.2,2.4,2.6,2.8,奇数的副版本号用来表示非标准版本,例如2.9.x发行版本是Redis 3.0标准版本的非标准发行版本。

第一步:下载
wget http://download.redis.io/releases/redis-4.0.11.tar.gz

第二步:解压
tar xzf redis-4.0.11.tar.gz

第三步:复制,放到/usr/local目录下面( 先创建文件夹/usr/local/redis/ )
mv ./redis-4.0.11/* /usr/local/redis/

第四步:进入redis目录
cd /usr/local/redis/

第五步:生成
sudo make

第六步: 测试,这段运行时间会比较长
sudo make test

第七步:安装,将Redis的命令安装到/usr/local/bin/目录
sudo make install

第八步: 安装完成后,我们进入目录/usr/local/bin中查看
cd /usr/local/bin
ls -all

第九步: 配置文件,移动到/etc/目录下
配置文件目录为/usr/local/redis/redis.conf

没有这个目录 创建/etc/redis/
sudo cp /usr/local/redis/redis.conf /etc/redis/

修改redis.conf 让 redis的logo不出现

没更改之前
在这里插入图片描述
进入路径

在这里插入图片描述

将136横的 代码no 改为yes
在这里插入图片描述

一些 Redis的数据库操作代码 以后会详细介绍:

启动redis 服务 后面是配置路径
lbc@lbc-X550CC:~$ sudo redis-server /etc/redis/redis.conf 
12183:C 29 Sep 15:10:15.479 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
12183:C 29 Sep 15:10:15.479 # Redis version=4.0.11, bits=64, commit=00000000, modified=0, pid=12183, just started
12183:C 29 Sep 15:10:15.479 # Configuration loaded

启动redis数据库
lbc@lbc-X550CC:~$ redis-cli


一些操作命令可以试着敲击 以后会有详细教程 现在时间不够没空写
127.0.0.1:6379> select 3
OK
127.0.0.1:6379[3]> set redis 1803
OK
127.0.0.1:6379[3]> get redis
"1803"
127.0.0.1:6379[3]> setex redis 15 abcd
OK
127.0.0.1:6379[3]> get redis
"abcd"
127.0.0.1:6379[3]> get redis
"abcd"
127.0.0.1:6379[3]> get redis
"abcd"
127.0.0.1:6379[3]> get redis
"abcd"
127.0.0.1:6379[3]> get redis
"abcd"
127.0.0.1:6379[3]> get redis
(nil)
127.0.0.1:6379[3]> set name laowang
OK
127.0.0.1:6379[3]> setnx name 123456
(integer) 0
127.0.0.1:6379[3]> get name
"laowang"
127.0.0.1:6379[3]> setrange name 3 4567
(integer) 7
127.0.0.1:6379[3]> get name
"lao4567"
127.0.0.1:6379[3]> set name 1234wang
OK
127.0.0.1:6379[3]> get name
"1234wang"
127.0.0.1:6379[3]> mset name1 zhangsan name2 lisi name3 wangwu
OK
127.0.0.1:6379[3]> get name1 name2
(error) ERR wrong number of arguments for 'get' command
127.0.0.1:6379[3]> mget name1 name2 name3
1) "zhangsan"
2) "lisi"
3) "wangwu"
127.0.0.1:6379[3]> append name1 san
(integer) 11
127.0.0.1:6379[3]> mget name1 name2 name3
1) "zhangsansan"
2) "lisi"
3) "wangwu"
127.0.0.1:6379[3]> del name2 name3
(integer) 2
127.0.0.1:6379[3]> get name2
(nil)
127.0.0.1:6379[3]> keys * 
1) "name"
2) "name1"
127.0.0.1:6379[3]> keys '.*3'
(empty list or set)
127.0.0.1:6379[3]> keys '*3'
(empty list or set)
127.0.0.1:6379[3]> keys '*1'
1) "name1"
127.0.0.1:6379[3]> keys '*a'
(empty list or set)
127.0.0.1:6379[3]> keys '*a*'
1) "name"
2) "name1"
127.0.0.1:6379[3]> exists name1
(integer) 1
127.0.0.1:6379[3]> randomkey
"name1"
127.0.0.1:6379[3]> randomkey
"name1"
127.0.0.1:6379[3]> randomkey
"name"
127.0.0.1:6379[3]> randomkey
"name"
127.0.0.1:6379[3]> randomkey
"name1"
127.0.0.1:6379[3]> randomkey
"name"
127.0.0.1:6379[3]> randomkey
"name1"
127.0.0.1:6379[3]> randomkey
"name"
127.0.0.1:6379[3]> randomkey
"name"
127.0.0.1:6379[3]> randomkey
"name"
127.0.0.1:6379[3]> randomkey
"name"
127.0.0.1:6379[3]> randomkey
"name"
127.0.0.1:6379[3]> type name3
none
127.0.0.1:6379[3]> type name1
string
127.0.0.1:6379[3]> expire name1 10
(integer) 1
127.0.0.1:6379[3]> exists name1
(integer) 0
127.0.0.1:6379[3]> expire name 60
(integer) 1
127.0.0.1:6379[3]> expire name 60
(integer) 1
127.0.0.1:6379[3]> expire name 60
(integer) 1
127.0.0.1:6379[3]> ttl name
(integer) 50
127.0.0.1:6379[3]> ttl name
(integer) 49
127.0.0.1:6379[3]> ttl name
(integer) 48
127.0.0.1:6379[3]> ttl name
(integer) 47
127.0.0.1:6379[3]> ttl name
(integer) 47
127.0.0.1:6379[3]> ttl name
(integer) 46
127.0.0.1:6379[3]> ttl name
(integer) 45
127.0.0.1:6379[3]> ttl name
(integer) 15
127.0.0.1:6379[3]> ttl name
(integer) 14
127.0.0.1:6379[3]> ttl name
(integer) 13
127.0.0.1:6379[3]> ttl name
(integer) 13
127.0.0.1:6379[3]> ttl name
(integer) 12
127.0.0.1:6379[3]> ttl name
(integer) 11
127.0.0.1:6379[3]> ttl name
(integer) 11
127.0.0.1:6379[3]> ttl name
(integer) -2
127.0.0.1:6379[3]> ttl name
(integer) -2
127.0.0.1:6379[3]> ttl name
(integer) -2
127.0.0.1:6379[3]> ttl name
(integer) -2
127.0.0.1:6379[3]> ttl name
(integer) -2
127.0.0.1:6379[3]> ttl name
(integer) -2
127.0.0.1:6379[3]> ttl name
(integer) -2
127.0.0.1:6379[3]> ttl name
(integer) -2
127.0.0.1:6379[3]> ttl name
(integer) -2
127.0.0.1:6379[3]> ttl name
(integer) -2
127.0.0.1:6379[3]> ttl name
(integer) -2
127.0.0.1:6379[3]> ttl name
(integer) -2
127.0.0.1:6379[3]> ttl name
(integer) -2
127.0.0.1:6379[3]> ttl name
(integer) -2
127.0.0.1:6379[3]> ttl name
(integer) -2
127.0.0.1:6379[3]> get a 1803
(error) ERR wrong number of arguments for 'get' command
127.0.0.1:6379[3]> set a 1803
OK
127.0.0.1:6379[3]> ttl a
(integer) -1
127.0.0.1:6379[3]> hset hkey name lisi age 30
(integer) 2
127.0.0.1:6379[3]> mget hkey
1) (nil)
127.0.0.1:6379[3]> mget name
1) (nil)
127.0.0.1:6379[3]> exists
(error) ERR wrong number of arguments for 'exists' command
127.0.0.1:6379[3]> hmset hkey1 name1 zhangsan score 100 gender 0
OK
127.0.0.1:6379[3]> hget hkey name
"lisi"
127.0.0.1:6379[3]> hmget hkey1 name
1) (nil)
127.0.0.1:6379[3]> hmget hkey1 name1
1) "zhangsan"
127.0.0.1:6379[3]> hmget hkey1 name1 age
1) "zhangsan"
2) (nil)
127.0.0.1:6379[3]> hmget hkey1 name1 score
1) "zhangsan"
2) "100"
127.0.0.1:6379[3]> hkeys hkey1
1) "name1"
2) "score"
3) "gender"
127.0.0.1:6379[3]> hvals hkey1
1) "zhangsan"
2) "100"
3) "0"
127.0.0.1:6379[3]> hdel hkey1 score
(integer) 1
127.0.0.1:6379[3]> hkeys hkey1
1) "name1"
2) "gender"
127.0.0.1:6379[3]> del hkey1
(integer) 1
127.0.0.1:6379[3]> keys *
1) "hkey"
2) "a"
127.0.0.1:6379[3]> HEXISTS hkey name
(integer) 1
127.0.0.1:6379[3]> HGETALL hkey
1) "name"
2) "lisi"
3) "age"
4) "30"

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Redis数据库可以通过以下几种方式进行安装。 在Windows上安装Redis,可以按照以下步骤进行操作: 1. 下载Redis安装包并解压缩。 2. 配置环境变量,将Redis安装路径添加到系统的PATH变量中。 3. 验证安装是否成功,可以通过命令行输入redis-cli命令来连接Redis。 4. 连接Redis后,可以进行一些简单的测试,比如设置一个key并进行操作。 在Linux上安装Redis,有两种方式可以选择: 1. 源码安装方式:首先检查是否安装了gcc编译器,如果没有则需要安装。然后下载Redis的压缩包并解压缩,编译并检验安装。最后修改配置文件以配置Redis。 2. 命令方式安装:通过命令搜索可安装Redis版本,然后使用相应的命令进行安装安装完成后,可以检查安装是否成功,并找到配置文件的位置。 另外,如果需要连接远程的Redis数据库,可以通过修改Redis的配置文件redis.conf来实现。将bind 127.0.0.1改为bind 0.0.0.0,将protected-mode yes改为protected-mode no。然后运行Redis管理工具即可连接远程数据库。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* *2* [Windows、Linux下安装Redis图文教程](https://blog.csdn.net/chen15369337607/article/details/125353358)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [Redis安装教程(超详细)](https://blog.csdn.net/X_lsod/article/details/123263429)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值