Redis安装及五种数据类型
redis是非关系型数据库,也叫内存数据库。数据是键值对的形式,通过key查找value
安装Radis:6379
sudo apt-get update
sudo apt-get install redis-server
redis-cli # 启动redis
python连接redis 需要修改redis端口号
- sudo vim /etc/redis/redis.conf # 找到bind 改端口为 0.0.0.0
- netstat -ntl # 查看端口号,这是并没有变为 0.0.0.0
- sudo service redis-server restart # 需要重启服务
- netstat -ntl #现在端口就变成0.0.0.0了
五种数据类型:
- string 字符串
- list 列表
- hash 哈希
- set 集合
- 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安装及五种数据类型的更多相关文章
- Redis支持的五种数据类型
redis支持的五种数据类型: 1.string(字符串) 2.hash(哈希) Redis hash 是一个键值(key=>value)对集合. Redis hash是一个string类型的f ...
- 【Redis】一、Redis简介及五种数据类型
(一)Redis简介 Redis(Remote Dictionary Server)是一个使用ANSI C语言编写.遵守BSD协议.支持网络.可基于内存亦可持久化的日志型.Key-Value的开源 ...
- 《闲扯Redis一》五种数据类型之String型
一.前言 Redis 提供了5种数据类型:String(字符串).Hash(哈希).List(列表).Set(集合).Zset(有序集合),理解每种数据类型的特点对于redis的开发和运维非常重要. ...
- Redis学习笔记--五种数据类型的使用场景
String 1.String 常用命令: 除了get.set.incr.decr mget等操作外,Redis还提供了下面一些操作: 获取字符串长度 往字符串append内容 设置和获取字符串的某一 ...
- <Redis> 入门二 五种数据类型的操作、通用key的操作、发布订阅
文档参考:http://www.redis.net.cn/ string - > key value 简单的keyvalue,常规计数:例如微博数,粉丝数 set -> key v ...
- redis五种数据类型的使用(zz)
redis五种数据类型的使用 redis五种数据类型的使用 (摘自:http://tech.it168.com/a2011/0818/1234/000001234478_all.shtml ) 1.S ...
- redis五种数据类型的使用
redis五种数据类型的使用 redis五种数据类型的使用 (摘自:http://tech.it168.com/a2011/0818/1234/000001234478_all.shtml ) 1.S ...
- redis五种数据类型的使用场景
string 1.String 常用命令: 除了get.set.incr.decr mget等操作外,Redis还提供了下面一些操作: 获取字符串长度 往字符串append内容 设置和获取字符串的某一 ...
- Redis五种数据类型-设置key的过期时间
1.redis命令客户端 [root@localhost bin]# ./redis-cli 127.0.0.1:6379> #是否运行着 127.0.0.1:6379> ping PON ...
随机推荐
- POJ 3069:Saruman's Army
Saruman's Army Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 13242 Accepted: 6636 D ...
- 网络流初步:<最大流>——核心(增广路算法)(模板)
增广路的核心就是引入了反向边,使在进行道路探索选择的时候增加了类似于退路的东西[有一点dp的味道??] 具体操作就是:1.首先使用结构体以及数组链表next[ MAXN ]进行边信息的存储 2.[核心 ...
- WPF控件NumericUpDown (转)
WPF控件NumericUpDown示例 (转载请注明出处) 工具:Expression Blend 2 + Visual Studio 2008 语言:C# 框架:.Net Framework 3. ...
- Oracle 跨库 查询 复制表数据
在目前绝大部分数据库有分布式查询的需要.下面简单的介绍如何在oracle中配置实现跨库访问. 比如现在有2个数据库服务器,安装了2个数据库.数据库server A和B.现在来实现在A库中访问B的数据库 ...
- Android已有的原生Camera框架中加入自己的API的实现方案。
版权声明:本文为CSDN博主(天才2012)原创文章.未经博主同意不得转载. https://blog.csdn.net/gzzaigcn/article/details/25707389 在 ...
- EasyPHP-Devserver-17的坑位
mysql登陆错误:error: 'Plugin '*2A8AF30E682613A2F1CE1E28BA11D8560B294DCE' is not loaded' http://stackover ...
- jvm 知识点
双亲委派模型的工作流程是: 如果一个类加载器收到了类加载的请求,它首先不会自己去尝试加载这个类,而是把请求委托给父加载器去完成,依次向上,因此,所有的类加载请求最终都应该被传递到顶层的启动类加载器中, ...
- PHP安全相关的配置(2)
php用越来越多!安全问题更为重要!这里讲解如果安全配置php.ini 安全配置一 (1) 打开php的安全模式 php的安全模式是个非常重要的内嵌的安全机制,能够控制一些php中的函数,比如syst ...
- c 结构体的队列
头文件 lsg_queue.h #pragma once #include<stdbool.h> /* 链式栈接口的定义头文件 */ #define true 1 #define fals ...
- 基于ionic框架封装一个图片轮播指令的几点
在这里我想在项目中封装一个图片轮播的指令 (本项目使用的是ionic框架) 1)定义指令 define(['app'],function(myapp){ myapp.directive('myslid ...