昨天刚发完第一次的blog,今天不延续一下又不好意思。昨天如我所愿,重新大概地看了一下c语言的书,当作复习也当作补漏。现在来总结一下啊c语言的特点有很多1.语言简洁、紧凑,使用方便;2.c语言可直接访问物理地址(ps:记得之前只会背物理地址,后来查了一下才知道物理地址应该是cpu访问内存中的地址- -)3.可移植性比较好,移到其他操作系统上源代码可不变;4.比它低级的b语言多了许多种类的数据类型(
#include<stdio.h>
#include<string.h>
int main()
{
int len =0;
len=strlen("abc");
printf("%d\n",strlen("abc"));
return 0;
}
原创
2022-11-09 17:25:54
112阅读
redis虽说是用C语言开发的,但是redis考虑了性能、安全性、效率性、功能等要,redis底层存储字符串实现,自己实现了名为简单动态字符串(Simple dynamic string)简称SDS的结构来存储字符串,这个结构有int len(当前字符串长度), int free(未使用的字符串长度可以说是缓冲), char buf[](存储的字符串数组)这几个变量。 接下
转载
2024-06-21 12:41:47
20阅读
Redis的数据类型有string、list、set、zset、hash,那么这些数据类型底层如何实现的呢? Redis是用C语言写的,底层数据结构包括六种:动态字符串、链表、字典、跳跃表、整数集合和压缩列表。1、动态字符串struct sdshdr{
//记录buf数组中已使用字节的数量
//等于 SDS 保存字符串的长度
int len;
//记录 bu
转载
2023-08-16 17:02:40
88阅读
1、【[Error] 'm' redeclared as different kind of symbol】 C语言中出现以下报错:【[Error] ‘m’ redeclared as different kind of symbol】改正方法:对一个变量,只能声明一次,多次声名,就算声明类型相同,也是错误的。而函数中,可以直接在 “函数原型” 中声明。例如:写一个求素数函数int
转载
2023-07-09 23:38:24
963阅读
c语言中的read和write函数读函数read
ssize_t read(int fd,void *buf,size_t nbyte) read函数是负责从fd中读取内容.成功时,read返回实际所读的字节数,如果返回的值是0,表示已经读到文件的结束了.小于0表示出现了错误.如果错误为EINTR说明读是由中断引起的, 如果
转载
2023-05-25 15:21:32
197阅读
1、速度快 Redis是用C语言实现的; Redis的所有数据存储在内存中。 2、持久化 Redis的所有数据存储在内存中,对数据的更新将异步地保存到磁盘上。 3、支持多种数据结构 Redis支持五种数据结构:String、List、Set、Hash、Zset 4、支持多种编程语言 Java、php、Python、Ruby、Lua、Node.js 5、功能丰富 除了支持五种数据
转载
2023-05-29 14:45:37
132阅读
#include <stdio.h>
//访问越界
int main() {
int a[5]={1,2,3,4,5}; //初始化一个5个位置的数组
int j=20; //初始化j
int i=10; //初始化i
a[5]=6; //初始化数组的第6个位置为6
a[6]=7; //初始化数组的第七个位置为7
printf(
原创
2023-03-23 17:20:24
153阅读
#include<stdio.h>
#include<stdlib.h>
#include<mysql.h>
int main(void)
{
//MYSQL 链接指针
MYSQL *conn_ptr;
int res;
//执行的查询语句
char querySql[100] = "select fnam
原创
2014-03-02 21:53:37
1393阅读
C++学习记录:C++连接Redis数据库 之前学习了Redis数据库相关的内容,但是并没有在编写C++代码中用到Redis相关内容。 本篇笔记记录了个人在 Linux 环境下使用 C++ 连接 Redis 数据库的过程。实现了一个简单的排行榜功能。 由于现在的主流是使用 java 连接 redis,所以在网上查询 C语言 的API消耗了一部分时间,在本篇笔记中,我将记录相关数据结构和A
转载
2023-07-05 13:14:22
114阅读
一、概述Redis作为一个分布式缓存实现,相对于Memecache,除了支持持久化之外,一个重要的特性是Redis支持丰富的数据类型,即Memecache只支持字符串类型,所有键值对都是字符串类型,而Redis的值支持字符串,列表,字典,集合,有序集合五种类型,故可以提供更加丰富的操作。Redis的每种数据类型都支持多种底层数据结构实现,即每种数据类型并不是绑定为一种数据结构的,而是可以多种。这种
转载
2023-07-01 18:25:50
66阅读
在使用C语言进行Redis操作时,用户在特定场景下遇到了性能瓶颈和连接超时的问题。本文将详细记录解决“C语言 Redis”问题的过程,包括问题背景、错误现象、根因分析、解决方案、验证测试、以及预防优化。
在一种应用场景中,我们的系统需要频繁地与Redis进行数据交互,由于性能担忧,开发团队决定使用C语言开发相应的底层接口,直接与Redis服务器进行通信。
```mermaid
flowchar
开发语言现在我们都用高级语言来编程,比如Java、python等。也许你会觉得C语言很古老,但是它真的很有用,毕竟unix系统就是用C实现的,所以C语言是非常贴近操作系统的语言。Redis就是用C语言开发的,所以执行会比较快。纯内存访问Redis将所有数据放在内存中,非数据同步正常工作中,是不需要从磁盘读取数据的,0次IO。内存响应时间大约为100纳秒,这是Redis速度快的重要基础。先看看CPU
转载
2023-09-11 15:48:06
145阅读
简单动态字符串SDS概述SDS定义兼容部分C字符串函数特性常数复杂度获取字符串长度杜绝缓冲区溢出减少修改字符串时带来的内存重新分配次数空间预分配惰性空间释放二进制安全 概述Redis底层由C语言实现, 但Redis并没有直接使用C语言的字符串, 而是自己构建了一种名为 SDS ( Simple Dynamic String ) 简单动态字符串来作为其字符串的数据结构.在Redis中, C语言的字
转载
2024-02-23 10:21:43
44阅读
1、string类型使用场景计数,如点赞数、限制请求次数、pv/uv等作为key-value缓存基础数据存储session,以实现分布式下的共享session2、数据结构redis为c语言编写的,但是c语言没有String类型,只有cha[]类型,而且char数组在初始化的时候指定完大小后就不能再改变了。基于此,redis维护了一个自己的数据结构——SDS(Simple Dynamic Strin
转载
2023-08-02 12:28:52
88阅读
一、什么是c语言1 人和计算机交流的语言成为计算机语言,而计算机语言中包括了C、C++、JAVA...等很多语言,C语言是面向过程的抽象化通用设计语言,与c++,java面向对象的编程语言不同,C语言广泛应用于底层开发,其中c语言的编译器有Clagg(苹果出的编译器)、Gcc(linux系统上的一个编译器)、msvc(是vs的编译器)了解一下。二、第一个C语言程
转载
2023-08-31 20:29:41
54阅读
哈希表的数据结构:其实就是数组+链表:如图, 通过一个hash函数将key转化成数组的下标,如果对应的下标在数组里面有数据,那么就冲突了,冲突了怎么办呢,这个时候就把这个数组当成链表的头结点,然后通过头插法或者尾插法将新的节点数据插入到这个链表里面,理论上有hash表的size有多大,就有多少条链表,上图就有16条,冲突得越多,链表的长
转载
2023-08-09 21:40:53
96阅读
1、用C语言连接数据库,首先要安装c语言的数据库在目录/redis- 4.0.1/deps下面执行sudo make/make install命令在执行完之后可能执行ldconfig命令来更新连接符2、连接数据库redisContext* c=redisConnect(“127.0.0.1”,6379);释放连接redisFree©;3、对redis进行的操作reply1=static_cast&
转载
2023-05-29 22:14:08
139阅读
redis是什么?redis是一个由 Salvatore Sanfilippo 写的 key-value 存储系 统。Redis 是一个开源的使用 ANSI C 语言编写、遵守 BSD 协议、支持网络、可基于内存亦可持久 化的日志型、Key-Value 数据库,并提供多种语言的 API。它通常被称为数据结构服务器,因为值 (value)可以是 字符串(String), 哈希(Hash), 列表(l
转载
2023-05-25 19:01:08
299阅读
字符串使我们在编程过程中使用最为广泛的对象了,在 Redis 中同样如此。我们知道 Redis 是 C 语言实现的,但是 Redis 放弃了 C 语言传统的字符串而是自己创建了一种名为简单动态字符串 SDS(Simple Dynamic String)的抽象类型,并将 SDS 用作 Redis 的默认字符串表示,其主要原因就是传统的字符串表示方式并不能满足 Redis 对字符串在安全性、效率、以及
转载
2024-01-09 14:26:47
47阅读