redis的常用操作

4 篇文章 0 订阅

Redis 数据类型

Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。

首先打开两个终端,一个运行服务端一个运行客户端,操作客户端时,服务端要一直开启。
服务端:

[root@foundation65 src]# ./redis-server 

客户端

[kiosk@foundation3 src]$ ./redis-cli		#进入redis

str类型

127.0.0.1:6379> set name "fentiao"  # 设置key值 value值
OK
127.0.0.1:6379> get name    # 得到key值
"fentiao"
127.0.0.1:6379> del name    #删除key
(integer) 1
127.0.0.1:6379> get name
(nil)

在这里插入图片描述

str类型设置数值

127.0.0.1:6379> set views 1000  #设置key-value(string)
OK
127.0.0.1:6379> INCR views	#加1
(integer) 1001
127.0.0.1:6379> INCR views
(integer) 1002
127.0.0.1:6379> DECR views	#减1
(integer) 1001
127.0.0.1:6379> get views
"1001"

在这里插入图片描述

重新设置value值,并显示之前设定的value值

127.0.0.1:6379> GETSET views 100
"1001"
127.0.0.1:6379> get views
"100"

在这里插入图片描述

网页上有详细教程redis教程

hash类型

#设置hash的key value
127.0.0.1:6379> HMSET students name "xiaoli" age 19 score 10 100 99
OK
#获取name对应的value
127.0.0.1:6379> HMGET students name
1) "xiaoli"
#获取全部
127.0.0.1:6379> HGETALL students
1) "name"
2) "xiaoli"
3) "age"
4) "19"
5) "score"
6) "10"
7) "100"
8) "99"
#hash类型重复会覆盖之前的

在这里插入图片描述

列表 可以重复

127.0.0.1:6379> LPUSH sql mysql  #将一个或多个值插入到列表头部
(integer) 1
127.0.0.1:6379> LPUSH sql redis
(integer) 2
127.0.0.1:6379> LPUSH sql sqlserver
(integer) 3
127.0.0.1:6379> LPUSH sql mysql
(integer) 4
127.0.0.1:6379> LRANGE sql 0 2  #获取列表指定范围内的元素
1) "mysql"
2) "sqlserver"
3) "redis"

在这里插入图片描述

set()集合类型

127.0.0.1:6379> DEL sql	#每次需要更新key值(和之前重复)时,需要删除之前的key值,后不再提示
(integer) 1
127.0.0.1:6379> SADD sql redis #向集合添加一个或多个成员
(integer) 1
127.0.0.1:6379> SADD sql sqlserver	
(integer) 1
127.0.0.1:6379> SADD sql mysql
(integer) 1
127.0.0.1:6379> SMEMBERS sql #返回集合中的所有成员
1) "redis"
2) "sqlserver"
3) "mysql"
127.0.0.1:6379> SADD sql mysql #集合会去重
(integer) 0
127.0.0.1:6379> SMEMBERS sql
1) "redis"
2) "sqlserver"
3) "mysql"

在这里插入图片描述

有序集合类型

127.0.0.1:6379> ZADD sql 1 redis #向有序集合添加一个或多个成员,或者更新已存在成员,并设置索引
(integer) 1
127.0.0.1:6379> ZADD sql 2 mariadb
(integer) 1
127.0.0.1:6379> ZADD sql 3 mysql
(integer) 1
127.0.0.1:6379> ZRANGE sql 0 2 #通过索引区间返回有序集合成指定区间内的成员
1) "redis"
2) "mariadb"
3) "mysql"
127.0.0.1:6379> ZRANGE sql 0 2 withscores 	#返回索引和有序集合指定区间内的成员
1) "redis"
2) "1"
3) "mariadb"
4) "2"
5) "mysql"
6) "3"

在这里插入图片描述

公共部分:

import redis

pool = redis.ConnectionPool(host='localhost', port=6379)
conn = redis.Redis(connection_pool=pool)

# 设置key-value
conn.set('name', 'fentiao', 3)
conn.set('age', 10 , 3)
conn.set('scores', 100 , 3)


#获取key对应的value值
print(conn.get('name'))
print(conn['name'])

在这里插入图片描述

# 获取所有的key值
print(conn.keys())
print(len(conn.keys())) #获取key的个数

在这里插入图片描述

# 当前redis数据库中数据条数;
print(conn.dbsize())

在这里插入图片描述

# 删除指定key-value值
conn.delete('scores')
print("正在删除key......")
print(conn.get('scores'))

在这里插入图片描述

# 将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
conn.save()

print("清除前:", conn.keys())
# 清除redis里面所有的key-value值
conn.flushall()    
print("清除后:", conn.keys())

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值