linux 下下载redis数据库

apt install redis

如果提示权限不够的话, 直接提权:

sudo apt install redis-server

linux启用、停止服务

service redis start
service redis stop
service redis restart

xshell进入linux

cd ..  # 返回根目录
ls # 查看文件
cd etc/

那么到这里,就该进入正题啦。

首先记录下连接、退出、切换数据库的命令

连接:redis:redis-cli
退出:exit
切换数据库:select n

数据库没有名称,默认有16个,通过0-15来标识,连接redis默认选择第一个数据库(通过select n切换)

一直说redis有五大数据结构, 都有什么呢。

redis是key-value的数据结构,每条数据都是⼀个键值对

键的类型是字符串

注意:键不能重复

值的类型分为五种:

  String ------> 字符串

  Hash ------> 哈希

  List ------> 列表

  set ------> 集合

  Zset ------> 有序集合

现在我们就开始详细的看下每个数据类型常用的命令有哪些;

string类型

string是redis最基本的类型,一个key对应一个value。

设置给定 key 的值。如果 key 已经存储其他值, SET 就覆写旧值,且无视类型。

设置数据:set  key  value
设置多组数据:mset key value  [key value..]

为多组key设置值,该操作为原子操作,要么一组都设置成功,要么一组都设置失败;

返回一个或多个key的值,若key不存在返回nil,若key存在但不是字符串返回nil

查看数据:get  key

将指定的值追加到key末尾,若key不存在,则创建并赋值,返回追加后的字符串长度

追加数据:append  key  value

返回key的剩余生存时间, -1 表示永久存在, -2表示不存在

ttl key

设置 key的同时,设置过期时间(单位:秒) key 过期后将不再可用,会被系统自动删除。

set key value ex seconds 

set age 18 ex 20 
或 setex key seconds value 例: ( setex sex 20 '男' )

移除指定key的生存时间,成功返回1,若key不存在或不存在生存时间时返回0;

persist key

这里追加一个命令:

进入数据库:user db_name;

    如果不知道数据库是否存在,记得加if exists

全局key操作

对redis的五个数据类型都适用的命令

rename key newkey    改名

当key和newkey相同或者key不存在时返回一个错误,当newkey已存在时则会覆盖;

     keys *                    # 查看所有的key

     del key                    # 删除    返回成功的个数

     exists key                # 查看key是否存在  返回存在个个数

     type key                # 查看key类型

     expire key seconds        #设置过期时间    

     persist key                #移除过期时间

list类型

List类型是一个字符串列表,可以在列表头部或尾部添加/删除数据
在插入数据时,按照插入顺序排序,在列表的头部或者尾部添加元素,
如果该键并不存在,Redis将为该键创建一个。

添加数据:rpush key value [value…]   在尾部添加数据
     lpush key value [value…] 在头部添加数据

返回列表中元素的值。index从0开始,当index超出索引时返回null

lindex key index

  #查看第2个

查看索引范围内元素的值

查看数据:lrange key start stop

#查看所有值

返回列表的长度

llen key

修改数据:lset key index value

指定索引号进行修改

删除数据:lpop key    删除左边第一个
rpop key 删除右边第一个

Hash类型

是一个键值(key=>value)对集合。是string 类型的 field 和 value 的映射表
     user                 { name:juhao,             age:18 }
user -> key(键)      name,age ->field(域)       juhao,18 ->value(值)

添加数据:

将field-value设置到hash表中,若key不存在会新建hash表再赋值,已存在则会覆盖;

hset key field value

查看域值:

hget key field

批量添加:

hmset key field value field2 value2

查看所有的value:

hvals key

查看所有的field:

hkeys key

# 获取多个 field

hmget key field[field...]

# 获取全部`field` 和 `value

hgetall key

 # 查看有几个键值对

hlen key

# 判断hash表中指定域是否存在,返回1,若key或field不存在则返回0;

hexists key field

# 删除

hdel key field

Set类型

元素为string类型
无序集合
元素具有唯一性,不重复

sadd key member [member...]     增加元素

将一个或多个member元素加入到集合key中,若member已存在那么会忽略此元素,

# 返回集合key中元素的个数

scard key

 # 获取集合中所有元素

smembers key

 # 判断集合存在某个值

判断member在key中是否已存在, 返回0或1 

sismember key member

 # 删除

移除一个或多个元素,不存在的member会被忽略,返回被移除元素个数

srem key member [member...]

# 随机删除

spop key

移除并返回集合中的一个随机元素,当key不存在时返回NULL

zset类型

类似于Set,不同的是Sorted中的每个成员都分配了一个分数(Score)用于对其中的成员进行排序(升序)。
zset的成员是唯一的,但分数(score)却可以重复。

# 添加/修改

zadd key score member[ [score member] ..]

设置, 存在就更新

# 查看

zscore key member

查看score值

# 按索引返回key的成员, withscores表示显示score

zrange key start stop[withscores]

# 显示全部

# 返回集合中 score 在给定区间的元素

zrangebyscore key min max

# 删除

zrem key member [member...]

移除有序集合中的一个或多个元素,若member不存在则忽略;

# 删除集合中索引在给定区间的元素

zremrangebyrank min max

# 删除集合中 score 在给定区间的元素

zremrangebyscore  min max

写到这里,redis整理完毕,命令不要死记硬背,用多了自然就记住了。

就像大家写sql  ,新建 create table ;插入insert into; 查询 select * from 表 一样。

声明:本文为博主学习感悟总结,水平有限,如果不当,欢迎指正。如果您认为还不错,欢迎转载。转载与引用请注明作者及出处。

redis 五大数据结构__常用命令的更多相关文章

  1. Redis系列(二):Redis的5种数据结构及其常用命令

    上一篇博客,我们讲解了什么是Redis以及在Windows和Linux环境下安装Redis的方法, 没看过的同学可以点击以下链接查看: Redis系列(一):Redis简介及环境安装. 本篇博客我们来 ...

  2. redis学习-集合set常用命令

    redis学习-集合set常用命令   1.sadd:添加一个元素到集合中(集合中的元素无序的并且唯一) 2.smembers:查看集合中所有的元素(上图事例) 3.srem:删除结合中指定的元素 4 ...

  3. redis学习-散列表常用命令(hash)

    redis学习-散列表常用命令(hash)   hset,hmset:给指定散列表插入一个或者多个键值对 hget,hmget:获取指定散列表一个或者多个键值对的值 hgetall:获取所欲哦键值以及 ...

  4. Redis中的数据结构与常用命令

    开发系统:Ubuntu 17.04Redis驱动:StackExchange.Redis 1.2.3Redis版本:3.2.1开发平台:.NET Core 对于Redis的介绍这里只写一句:Redis ...

  5. redis数据结构和常用命令

    redis常用数据结构 String 最简单的K_V,value可以是数字或者字符串,使用场景:微博数.普通计数,命令:get set incr(加1) decr(减1) mget(获取多个值),se ...

  6. Redis学习笔记(4)——Redis五大数据结构介绍以及应用场景

    出处:https://www.jianshu.com/p/f09480c05e42 Redis是典型的Key-Value类型数据库,Key为字符类型,Value的类型常用的为五种类型:String.H ...

  7. Redis五大数据结构

    1.Redis介绍 Redis是REmote DIctionary Server的缩写,作者定位于一个内存KV存储数据库(In-memory key-value Store),让Redis自豪的并不是 ...

  8. Redis的数据类型及其常用命令

    快速入门Redis 首先安装redis: windows下安装redis Linux下安装redis 1. 什么是redis Redis属于nosql(非关系型数据库) 关系型数据库是基于关系表的数据 ...

  9. redis五大数据类型以及常用操作命令

    Redis的五大数据类型 String(字符串) string是redis最基本的类型,你可以理解成与Memcached一模一样的类型,一个key对应一个value.string类型是二进制安全的.意 ...

随机推荐

  1. #Java学习之路——面试题

    (一)[基础知识梳理——JAVAse部分]Java中的变量和常量        在程序中存在大量的数据来代表程序的状态,其中有些数据在程序的运行过程中值会发生改变,有些数据在程序运行过程中值不能发生改 ...

  2. [Swift]LeetCode714. 买卖股票的最佳时机含手续费 | Best Time to Buy and Sell Stock with Transaction Fee

    Your are given an array of integers prices, for which the i-th element is the price of a given stock ...

  3. Jmeter-常用线程组设置及场景运行时间计算

    Jmeter中通过线程组来模拟大用户并发场景,今天主要介绍三个常用的线程组,帮助我们设计更加完善的测试场景,另外介绍下场景执行时间如何计算. 一.Thread Group 取样器错误后要执行的动作   ...

  4. 侯哥的Python分享

    侯哥语录 我曾经是一个职业教育者,现在是一个自由开发者.我希望我的分享可以和更多人一起进步.分享一段我喜欢的话给大家:"我所理解的自由不是想干什么就干什么,而是想不干什么就不干什么.当你还没 ...

  5. Linux查看系统、核数、CPU、位数

    查看系统: cat /etc/os-release 结果为 centOS Linux 7 查看核数和CPU: lscpu 40 个核,处理器为 Intel(R) Xeon(R) CPU E7-8891 ...

  6. 6.Django session

    session 1.概述 cookie和session的区别 Cookie是保存在用户浏览器端的键值对,Session是保存在服务器端的键值对:Cookie做用户验证的时,敏感信息不适合放在Cooki ...

  7. UE4 打包C++项目到win32平台报错 could not find mspdbcore.dll

    解决方法: 将Visual Studio中相应系统(如32位对应x86.64位对应x64)下的 ms.*.dll 等一系列文件拷贝到 C:\Windows\System32\ 路径下.踩坑:不能只拷贝 ...

  8. Python爬虫入门教程 2-100 妹子图网站爬取

    妹子图网站爬取---前言 从今天开始就要撸起袖子,直接写Python爬虫了,学习语言最好的办法就是有目的的进行,所以,接下来我将用10+篇的博客,写爬图片这一件事情.希望可以做好. 为了写好爬虫,我们 ...

  9. eclipse连接Android8.0以上手机无法打印日志的问题

    概述 我的eclipse的环境: Eclipse:Eclipse IDE for Java DevelopersVersion: Luna Service Release 2 (4.4.2) Andr ...

  10. 【Python3爬虫】下载酷狗音乐上的歌曲

    经过测试,可以下载要付费下载的歌曲(n_n) 准备工作:Python3.5+Pycharm 使用到的库:requests,re,json,time,fakeuseragent 步骤: 打开酷狗音乐的官 ...