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. 数组Arry的随机排序

    <!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>& ...

  2. UVA 156:Ananagrams (vector+map+sort)

    题意:一大堆单词中间有空格隔开,以'#'结束输出,问只出现一次的的单词有哪些(如果两个具有相同的长度,相同的字母也算是相同的,不区分大小写,如:noel和lone属于一个单词出现两次).最后按照字典序 ...

  3. 工具运行过程中,CPU占用过高的分析定位

    之前使用Java Swing开发了一款设备档案收集工具.支持多台设备同时收集,每个设备使用一个线程.在同时收集多台设备信息时,发现CPU占用率居然达到了97%,而且高居不下.显然这样的性能是令人无法忍 ...

  4. MySQL · 特性分析 · 优化器 MRR & BKA【转】

    MySQL · 特性分析 · 优化器 MRR & BKA 上一篇文章咱们对 ICP 进行了一次全面的分析,本篇文章小编继续为大家分析优化器的另外两个选项: MRR & batched_ ...

  5. 【转】每天一个linux命令(57):ss命令

    原文网址:http://www.cnblogs.com/peida/archive/2013/03/11/2953420.html ss是Socket Statistics的缩写.顾名思义,ss命令可 ...

  6. 【转】每天一个linux命令(44):top命令

    原文网址:http://www.cnblogs.com/peida/archive/2012/12/24/2831353.html top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进 ...

  7. PHP中的11个魔术方法总结:__construct,、__destruct、__call等

    PHP中的魔术方法总结 :__construct, __destruct , __call, __callStatic,__get, __set, __isset, __unset , __sleep ...

  8. 安装EKL

    elasticsearch rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch   /etc/yum.repos.d/ela ...

  9. 关于Hibernate Could not obtain transaction-synchronized Session for current thread

    转载自 http://blog.csdn.net/flyjiangs/article/details/51537381 最近几年一直再搞android,最近闲下来了,顺便玩一下web. 整了个最新版本 ...

  10. adb命令查看app的日志

    前言 在做app测试的时候,经常会遇到异常,此时如果开发没有异常保存,那么测试就得通过adb命令来查看日志信息.基于Windows平台的操作: logcat输出日志 一.把日志输出到手机指定目录 其命 ...