redis是非关系型数据库,也叫内存数据库。数据是键值对的形式,通过key查找value

安装Radis:6379

sudo apt-get update

sudo apt-get install redis-server

redis-cli  # 启动redis

python连接redis 需要修改redis端口号

  1. sudo vim  /etc/redis/redis.conf  # 找到bind 改端口为 0.0.0.0
  2. netstat -ntl  # 查看端口号,这是并没有变为 0.0.0.0
  3. sudo service redis-server restart  # 需要重启服务
  4. netstat -ntl  #现在端口就变成0.0.0.0了

五种数据类型:

  1. string  字符串
  2. list  列表
  3. hash 哈希
  4. set 集合
  5. zset 有序集合
1.# String的操作

# 设置字符串 set key value
set name Which # 查看字符串 get key
get name # 查看所有的键
keys * # 判断key 是否存在 exists key
exists name # 查看建的类型 type keyxi
type name # 给name追加值
append name 18 # 删除 del key
del name # 同时设置多个str mset key value key1 value1
mset name Which age 18 address "潭州学院"
# 同时查看多个key mget key key1...
mget name age address # 设置过期时间
expire name 15 # 查看过期时间
ttl name # 运算
# +1 incr key
incr age
# -1 decr key
decr age
# + 整数 incrby key num
incrby age 2
# - 整数 decrby key num
decrby age 3

2.list

2.# list的操作
# 设置list
# 左添加
lpush my_list 1 2 3 4
# 右添加
rpush my_list1 1 1 2 3 4 1 # 查看 lrange key start end
lrange my_list 0 -1
lrange my_list1 0 -1 # 获得list元素个数 llen key
llen my_list # 查看该位置上的元素是lindex 索引
lindex my_list 0 # 删除 # 左删除一个 lpop key
lpop my_list1
# 右删除一个 rpop key
rpop my_list1
# 指定删除 lrem key count value
lrem my_list1 2 1 #左往右删除两次 1
# lrem my_list1 0 1 # count=0 删除所以的 1
# lren my_list1 -2 1 # 从右往左删除两次 1

3.hash

3.# hash
# 设置 hset key field values
hset account name Which
# 获取 hget key field
hget account name
# 删除 hdel key field
hdel account name # 设置多个 hmset key field value [field value]
hmset user name Tom age 21 address school
# 获取多个 hmget key field [field]
hmget user name age address
# 获取全部 hgetall key
hgetall user
# 获取field 的个数 hlen key
hlen user

4.set

4. # set
# 设置 sadd key value value1...
sadd my_set 1 2 3 4 1 2 4
# 查看 smembers key
smembers my_set
# 删除
#指定删除 srem key member
srem my_set 4
#随机删除 spop key
spop my_set # 移动一个集合的member到另一个集合 smove oldkey newkey members
sadd new_set 1 2
smove my_set new_set 3 # 判断集合中存在某个值 sismember key value
sismember my_set 1 # 并集 sunion key1 key2
# 将key1 key3的并集合并到newkey
sunionstore newkey key1 key2 # 差集 sdiff key1 key2
# 把key1 key2 的差集合并到newkey
sdiffstore newkey key1 key2 # 获取集合的个数
scard key
#随机返回一个
srandmember key

5.zset

5.zset
# 设置 zadd key score member 索引+值
zadd z_set 111 D 3 S 1 G
# 获取
#正序 zrange key strat stop
zrange z_set 0 -1
#反序 zrevrange key start stop
zrevrange z_set 0 -1 # 删除 zrem key member
zrem z_set G zadd z_set1 2 b 5 d 3 c 1 a
# 索引
# 正序 获得该元素在有序集合中的索引值 zrank key member
zrank z_set1 a
# 反序 zrevrank key member
zrevrank z_set1 a # 查看有序集合元素数 zcard key
zcard z_set1
# 返回在建表给的索引区间min-max之间的值的个数 zcount key min max
zcount z_set1 1 2 # 查看建立zset给的索引score值 zscore member
zscore z_set1 a

Redis安装及五种数据类型的更多相关文章

  1. Redis支持的五种数据类型

    redis支持的五种数据类型: 1.string(字符串) 2.hash(哈希) Redis hash 是一个键值(key=>value)对集合. Redis hash是一个string类型的f ...

  2. 【Redis】一、Redis简介及五种数据类型

    (一)Redis简介   Redis(Remote Dictionary Server)是一个使用ANSI C语言编写.遵守BSD协议.支持网络.可基于内存亦可持久化的日志型.Key-Value的开源 ...

  3. 《闲扯Redis一》五种数据类型之String型

    一.前言 Redis 提供了5种数据类型:String(字符串).Hash(哈希).List(列表).Set(集合).Zset(有序集合),理解每种数据类型的特点对于redis的开发和运维非常重要. ...

  4. Redis学习笔记--五种数据类型的使用场景

    String 1.String 常用命令: 除了get.set.incr.decr mget等操作外,Redis还提供了下面一些操作: 获取字符串长度 往字符串append内容 设置和获取字符串的某一 ...

  5. <Redis> 入门二 五种数据类型的操作、通用key的操作、发布订阅

    文档参考:http://www.redis.net.cn/ string - > key value 简单的keyvalue,常规计数:例如微博数,粉丝数 set     -> key v ...

  6. redis五种数据类型的使用(zz)

    redis五种数据类型的使用 redis五种数据类型的使用 (摘自:http://tech.it168.com/a2011/0818/1234/000001234478_all.shtml ) 1.S ...

  7. redis五种数据类型的使用

    redis五种数据类型的使用 redis五种数据类型的使用 (摘自:http://tech.it168.com/a2011/0818/1234/000001234478_all.shtml ) 1.S ...

  8. redis五种数据类型的使用场景

    string 1.String 常用命令: 除了get.set.incr.decr mget等操作外,Redis还提供了下面一些操作: 获取字符串长度 往字符串append内容 设置和获取字符串的某一 ...

  9. Redis五种数据类型-设置key的过期时间

    1.redis命令客户端 [root@localhost bin]# ./redis-cli 127.0.0.1:6379> #是否运行着 127.0.0.1:6379> ping PON ...

随机推荐

  1. 常用sql语法初级

    博主在工作中,常常需要使用sql语句来进行查询,总结发现,灵活使用这几个要点,就可以应付大部分简单情况. 一.连接:根据两个或多个表中的列之间的关系,从这些表中查询数据. JOIN或INNER JOI ...

  2. long long 与 int

  3. hdu2085-2086

    hdu2085 模拟 #include<stdio.h> ][]; void fun(){ a[][]=; a[][]=; ;i<=;i++){ a[i][]=*a[i-][]+*a ...

  4. test20181016 B君的第二题

    题意 分析 考场暴力50分. 考虑bfs序,一个点的儿子节点的bfs序一定连续,所以对bfs序建线段树,努力打一下就行了. 时间复杂度\(O(n \log n + m \log n)\) #inclu ...

  5. LeetCode Factorial Trailing Zeroes Python

    Factorial Trailing Zeroes Given an integer n, return the number of trailing zeroes in n!. 题目意思: n求阶乘 ...

  6. C易忽视的基础

    1.输出格式控制:%x按int型16进制输出: %d按int型十进制输出:变量超出4字节会丢掉低位!!!!(却不是被截断!!!) void main() { int a=0x11223344; lon ...

  7. stenciljs 学习二 pwa 简单应用开发

    stenciljs 介绍参考官方网站,或者 https://www.cnblogs.com/rongfengliang/p/9706542.html demo 项目使用脚手架工具 创建项目 使用脚手架 ...

  8. bzoj 3528 [ZJOI2014] 星系调查 题解

    [原题] 星系调查 [问题描写叙述] 银河历59451年.在银河系有许很多多已被人类殖民的星系.如果想要在行 星系间往来,大家一般使用连接两个行星系的跳跃星门.  一个跳跃星门能够把 物质在它所连接的 ...

  9. nyoj 幸运三角形

    幸运三角形 时间限制:1000 ms  |  内存限制:65535 KB 难度:3   描述 话说有这么一个图形,只有两种符号组成(‘+’或者‘-’),图形的最上层有n个符号,往下个数依次减一,形成倒 ...

  10. es6 中,大多数开发者和 babel 之类的工具默认添加 use strict 到 JS 文件的头部,确保采用严格模式

    严格模式(use strict) 有助于防止问题用法,并且它也有助于安全使用 JavaScript. 在 ES5 中, 严格模式是可选项,但是在 ES6 中,许多特性要求必须使用严格模式. 因此大多数 ...