redis命令

命令行链接redis  redis-cli -h localhost -p 6478 -a password

keys * 可以查看系统中所有的key值,在开发环境非常有用的命令

select 0 可以用来切换数据库

redis官方介绍 https://redis.io/topics/data-types-intro

当我真正的接触到了Redis的时候,我被它的速度震惊了,因为它甚至比python内置的数据结构还要快。

在学习redis之前有几个问题可以先思考一下

1.系统的瓶颈出现在哪里?

IO读写,涉及到了磁盘操作,而这里速度是影响性能的主要因素

寄存器->内存->磁盘

依次是,存储量变大,但速度变慢。

2.NoSql是什么?

数据库有关系型数据库,结构化存储,支持SQL语句,这是我们所熟悉的,也是技术比较成熟的。

还有一种not only sql,例如redis通过key-value存储数据。

3.数据的持久化保存和速度之间的矛盾如何解决

要想持久化就不可避免的应用到磁盘,速度会下降,如何解决这两个矛盾呢?

Redis出现了,说起它的作者,你可能用过他写的另一个工具hping。

Redis有哪些特点?

1.数据可以存储到磁盘,提高可靠性

2.数据存放在内存中,可以定时保存到存储中。

3.多种数据结构的支持。

redis安装

在Mac上: brew install redis

在linux上通过源码编译安装。

redis本身没有提供windows版本,但微软公司维护了一份可在windows用的redis,但是网络好像不通。

从下面这个地址获取windos版本的编译好的二进制redis文件

https://github.com/dmajkic/redis/downloads

redis-server默认会占用系统的6379号端口。

redis有多种客户端,但其本质都是连接到server,然后执行命令。

redis的配置

redis.conf文件是配置文件。

redis的数据类型

字符串,列表,哈希,集合,有序集合

键与值在计算机术语中很常见了。

我通过python接口来学习了,初学者可以通过命令行进行学习

import redis

conn = redis.Redis()

1.字符串:

redis-cli中设置键和值

set key value

获取键对应的值

get key

set 命令附带一些有用的选项,例如,当key存在的使用,我不想set成功,可以使用nx选项,也就是只有不存在时候才能设置成功

> set mykey newval nx
  • EX seconds -- Set the specified expire time, in seconds.
  • PX milliseconds -- Set the specified expire time, in milliseconds.
  • NX -- Only set the key if it does not already exist.
  • XX -- Only set the key if it already exist.

incr 命令

incr key 实现+1操作

incr 满足了原子性,也就是即使在并发情况下,incr也能准确计数

2.列表

Redis lists are implemented via Linked Lists. This means that even if you have millions of elements inside a list, the operation of adding a new element in the head or in the tail of the list is performed in constant time.

> rpush mylist A
(integer) 1
> rpush mylist B
(integer) 2
> lpush mylist first
(integer) 3
> lrange mylist 0 -1
1) "first"
2) "A"
3) "B"

3.哈希表

4.集合

> sadd myset 1 2 3
(integer) 3
> smembers myset
1. 3
2. 1
3. 2

集合的并,交,差【就是数学中的并集,交集,差的概念】

key1 = {a,b,c,d}
key2 = {c}
key3 = {a,c,e}
key4 = {b}
SINTER key1 key2 key3 = {c}
SUNION key3 key4 = {a, b, c, e}
SDIFF key3 key = {a, e}

5.有序集合

6.位图

redis在项目工程的使用

无论在python项目还是java项目中,使用redis最好还是要通过连接池。并不是说直接使用不行,出于可控和性能的角度来讲要使用连接池

redis连接池java版

redis计数器

总结:对于我们不了解的技术总是心生畏惧,可但凡你投入几个小时学习一下,你就会发现一片崭新的天地。

【缓存】Redis入门相关推荐

  1. .NET分布式缓存Redis从入门到实战

    一.课程介绍 今天阿笨给大家带来一堂NOSQL的课程,本期的主角是Redis.希望大家学完本次分享课程后对redis有一个基本的了解和认识,并且熟悉和掌握 Redis在.NET中的使用. 本次分享课程 ...

  2. 《Redis入门指南(第2版)》一3.2 字符串类型

    本节书摘来异步社区<Redis入门指南(第2版)>一书中的第3章,第3.2节,作者: 李子骅 责编: 杨海玲,更多章节内容可以访问云栖社区"异步社区"公众号查看. 3. ...

  3. Linux大棚版redis入门教程

    后端开发过程中,有时需要考虑系统的实时性,那么缓存系统就派上用场了,当然,现在最常用的当属Redis,这篇文章转自 Linux大棚版redis入门教程 [本教程目录] redis是什么 redis的作 ...

  4. 超强、超详细Redis入门教程【转】

    这篇文章主要介绍了超强.超详细Redis入门教程,本文详细介绍了Redis数据库各个方面的知识,需要的朋友可以参考下 [本教程目录] 1.redis是什么 2.redis的作者何许人也 3.谁在使用r ...

  5. Redis入门(一)

    目录 一.Redis入门介绍 1.入门概述 2. 作用 3.下载地址 4.Linux版安装 5. Redis启动后杂项基础知识讲解 二.Redis数据类型 1.Redis的五大数据类型 2.redis ...

  6. 分布式缓存Redis介绍

    分布式缓存Redis介绍      简介:讲解为什么要用缓存和介绍什么是Redis,新手练习工具          1.redis官网 https://redis.io/download        ...

  7. redis入门——Spring整合篇

    redis入门--Spring整合篇 @(Redis)[服务器, 连接池, 集群, jedis, spring] redis入门Spring整合篇 Spring整合Redis redis整合分析 编写 ...

  8. redis入门——客户端篇

    redis入门--客户端篇 @(Redis)[redis, 入门, 客户端命令, jdeis] redis入门客户端篇 redis的客户端 redis-cli redis-desktop-manage ...

  9. redis入门——安装篇

    redis入门--安装篇 @(Redis)[redis, 入门, 安装] redis入门安装篇 Redis基本介绍 redis的安装 windows版 mac版 linux版 redis的启动以lin ...

  10. Redis入门第一篇【介绍、安装】

    tags: Redis title: Redis入门第一篇[介绍.安装] 为什么要用Redis 我对Redis的简单理解:Redis相信学JavaEE的同学都听过这个名词,它是一个缓存数据库. Red ...

最新文章

  1. 冒泡排序选择排序 以及时间效率对比
  2. 淘宝上的所有cuda书籍调研
  3. raid卡的结构示意图
  4. 广电总局拟规定设立未成年人频道
  5. 流水灯程序 keil_天问51学习笔记(3):8个任务的uCOS II程序框架
  6. Python探索金庸小说世界
  7. 大数运算python编程实现
  8. GitBash和GitGui右键失效解决方法
  9. 51单片机最小系统解读
  10. android 手机 报证书错误,安卓 ssl证书 安卓ssl证书出现错误的可能原因? - SSL网...
  11. 小程序onShareTimeline()分享朋友圈 --仅限Android
  12. 查看linux Mac地址
  13. Axon框架指南 - Baeldung
  14. vSphere 6.7 U3部署win11
  15. Android夜间模式最佳实践
  16. shell基础之04
  17. 西密歇根大学计算机科学专业排名,西密歇根大学有哪些专业_专业排名(USNEWS美国大学排名)...
  18. Android 设置投影效果
  19. 数学建模笔记 Topsis和熵权法
  20. 宝塔面板上行下行 总发送 总接收是什么意思

热门文章

  1. Mysql的安装和配置
  2. 华科10年保送生计算机考研复试机试
  3. 文件字节输入流 java
  4. 从包中导入类的使用 java
  5. jquery-样式修改-位置的方法-标签的宽高数据
  6. javascript-流程控制-循环-分支-三元运算符
  7. 第十四周学习进度报告
  8. go 简单的RPC服务与客户端通讯
  9. Oracle 11g的安装详细过程
  10. [20170508]listagg拼接显示字段.txt