¡Estamos encantados de anunciar la disponibilidad general (GA) del SDK de C para Couchbase! Esta versión agrega soporte para el lenguaje C nativo a nuestro conjunto integral existente de bibliotecas SDK en 11 lenguajes de programación y marca un hito importante en nuestro compromiso de proporcionar herramientas sólidas y de alto rendimiento para que los desarrolladores creen aplicaciones modernas y escalables. De hecho, este SDK de C es la biblioteca principal detrás de nuestros SDK de Python, NodeJS, Ruby y PHP existentes y se esfuerza por brindar una experiencia consistente, eficaz y eficaz en todos estos lenguajes de programación.
C sigue siendo un lenguaje vital para muchos desarrolladores debido a su rendimiento, eficiencia y control sobre los recursos del sistema. Al presentar el C SDK, Couchbase permite a los desarrolladores aprovechar estas ventajas y, al mismo tiempo, aprovechar al máximo las capacidades avanzadas de NoSQL de Couchbase. Estas son algunas de las razones clave por las que esta versión cambia las reglas del juego:
C es reconocido por su velocidad y administración de memoria de bajo nivel, lo que lo hace ideal para aplicaciones donde el rendimiento es crítico. El C SDK para Couchbase garantiza que pueda crear aplicaciones de alto rendimiento sin sacrificar la velocidad o la eficiencia.
El SDK de C proporciona una integración perfecta con Couchbase Server, lo que permite a los desarrolladores realizar fácilmente operaciones como operaciones KV, consultas SQL y transacciones. Esta estrecha integración garantiza que sus aplicaciones puedan escalar de manera efectiva mientras mantienen un alto rendimiento.
El SDK de C presenta una API idiomática moderna que se alinea con los últimos estándares de C. Esto lo hace no sólo poderoso sino también intuitivo para los desarrolladores de C, lo que reduce la curva de aprendizaje y le permite comenzar a crear aplicaciones rápidamente.
Estas son algunas de las características destacadas del C SDK para Couchbase:
El SDK de C simplifica la administración de conexiones, lo que le permite establecer y administrar conexiones a su clúster Couchbase con un mínimo esfuerzo. Esto incluye el manejo de la agrupación de conexiones, el equilibrio de carga y la conmutación por error, lo que garantiza que su aplicación siga siendo resistente y con buen rendimiento. Esto significa que el SDK puede leer automáticamente la topología de su clúster y proporcionar conexiones perfectas durante los cambios de topología, como cambios de tamaño o actualizaciones de clúster. A continuación se muestra un ejemplo de código C para conectarse a su base de datos de Couchbase.
// Attempt to connect to the Couchbase cluster auto [connect_err, cluster] = couchbase::cluster::connect(config.connection_string, options).get(); if (connect_err) { // Output the error message if connection fails std::coutSoporte de operación de valor clave (KV)
El SDK de C admite de forma nativa la realización de operaciones de valores clave. Las operaciones de valor clave son exclusivas de Couchbase y proporcionan operaciones CRUD muy rápidas para los documentos almacenados en Couchbase. A continuación se muestra un ejemplo de código C para ejecutar una simple obtención y inserción KV de un documento.
auto collection = cluster.bucket(config.bucket_name) .scope(config.scope_name) .collection(config.collection_name); // KV- get auto record = collection.get(document_id); std::coutSoporte enriquecido para consultas, búsquedas y búsquedas vectoriales
El SDK de C admite consultas SQL, búsqueda de texto completo (FTS) y búsqueda vectorial, lo que le proporciona potentes herramientas para realizar operaciones de datos complejas. Ya sea que necesite ejecutar consultas sofisticadas o realizar búsquedas de texto completo, el SDK lo tiene cubierto.
Búsqueda de consultas
A continuación se muestra un fragmento de código para ejecutar una consulta SQL simple para recuperar registros de la colección de aerolíneas:
auto scope = cluster.bucket(config.bucket_name).scope(config.scope_name); auto [err, resp] = scope.query("SELECT * FROM airline LIMIT 10").get(); std::coutBúsqueda de texto completo (FTS)
A continuación se muestra un fragmento de código para ejecutar una consulta FTS para realizar una búsqueda de texto completo de "buenos restaurantes", el índice creado en la colección de lugares emblemáticos:
auto scope = cluster.bucket(config.bucket_name).scope(config.scope_name); auto [err, resp] = scope .search("travel-inventory-landmarks", couchbase::search_request(couchbase::query_string_query("nice restaurants")), couchbase::search_options{}.fields({ "content" })) .get(); for (const auto& row : resp.rows()) { auto fields = row.fields_as<:codec::tao_json_serializer>(); std::coutBúsqueda de vectores
A continuación se muestra un fragmento de código para ejecutar una consulta de búsqueda vectorial:
auto scope = cluster.bucket(config.bucket_name).scope(config.scope_name); // weights could be retrieved from your llm model or openAI std::vectorweights{ 0.1, 0.2, 0.3, 0.4 }; auto [err, resp] = scope .search("travel-inventory-landmarks", couchbase::search_request(couchbase::vector_search( couchbase::vector_query(field_name, weights)))) .get(); for (const auto& row : resp.rows()) { auto fields = row.fields_as<:codec::tao_json_serializer>(); std::cout Programación asincrónica
El SDK admite modelos de programación asincrónica, lo que le permite crear aplicaciones responsivas y sin bloqueo. Esto es particularmente útil para aplicaciones de alto rendimiento donde mantener la capacidad de respuesta es esencial. A continuación se muestra un ejemplo de ejecución de una transacción en un contexto asincrónico:
std::shared_ptrctx) -> couchbase::error { ctx->get( collection, some_id, // do something in this transaction } Actas
Este nuevo C SDK incluye soporte para transacciones y reemplaza nuestro soporte para transacciones C existente al agregar más mejoras de rendimiento y características. A continuación se muestra un fragmento de código de muestra para crear un contexto de transacción:
std::shared_ptr<:transactions::attempt_context> ctx) -> couchbase::error { ctx.insert(collection, "doc-a", nlohmann::json({})); couchbase::transactions::transaction_get_result doc_a = ctx->get( collection, “doc-a”) }Manejo sólido de errores
El manejo de errores es crucial en cualquier aplicación, y el SDK de C, al igual que nuestros otros SDK, proporciona capacidades integrales de manejo de errores que incluyen reintentos para caídas de conexión, agrupación de conexiones y mensajes de error informativos. Esto garantiza que pueda manejar y recuperarse correctamente de los errores, mejorando la estabilidad y confiabilidad de sus aplicaciones.
Empezando
Para ayudarlo a comenzar con C SDK para Couchbase, hemos preparado una guía detallada de introducción en nuestro sitio web de documentación. A continuación se ofrece una descripción general rápida de cómo comenzar:
- Instale el SDK: siga las instrucciones de instalación en la documentación para configurar el SDK en su entorno de desarrollo.
- Conéctese a su clúster: conéctese a su clúster de Couchbase.
- Realice operaciones CRUD, ejecute consultas y aproveche las potentes funciones de Couchbase.
Comunidad y soporte
Creemos en el poder de la comunidad y el desarrollo de código abierto. El SDK de C para Couchbase es de código abierto y lo alentamos a contribuir, brindar comentarios y unirse a la conversación. Para obtener asistencia, si es nuestro cliente con licencia empresarial, puede comunicarse con soporte; de lo contrario, puede acceder a nuestra documentación completa, unirse a los foros de Couchbase o Couchbase Discord, o comunicarse a través de nuestro portal de soporte.
Otras lecturas
Para obtener más información, consulte nuestro sitio web de documentación. Proporciona más detalles sobre la API, especialmente en torno a transacciones y operaciones asincrónicas, y proporciona otro material de referencia y enlaces de enlaces de muestra para que pueda profundizar más:
- Ejemplos de código del SDK de Couchbase C
- Documentación del SDK de Couchbase C
- Descargar e instalar Couchbase C SDK
Los sistemas operativos compatibles se enumeran en nuestro sitio web de documentación.
¡Feliz codificación!
El equipo de Couchbase
La publicación Anuncio de la disponibilidad general del SDK de C para Couchbase apareció por primera vez en The Couchbase Blog.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3